NPTEPG
lev3mapsize = roundup(lev3mapsize, NPTEPG);
uvm_pageboot_alloc(sizeof(pt_entry_t) * NPTEPG);
lev2mapsize = roundup(howmany(lev3mapsize, NPTEPG), NPTEPG);
for (i = 0; i < howmany(lev2mapsize, NPTEPG); i++) {
(i*PAGE_SIZE*NPTEPG*NPTEPG))] = pte;
for (i = 0; i < howmany(lev3mapsize, NPTEPG); i++) {
#define PTEMASK (NPTEPG - 1)
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(ptextra, NPTEPG)) << PGSHIFT;
esg = &sg[kstsize * NPTEPG];
nl2desc = (ptsize >> PGSHIFT) * (NPTEPG / SG4_LEV3SIZE);
sg = &sg[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE)];
esg = &sg[NPTEPG / SG4_LEV3SIZE];
esg = &sg[kstsize * NPTEPG];
nl2desc = (ptsize >> PGSHIFT) * (NPTEPG / SG4_LEV3SIZE);
sg = &sg[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE)];
esg = &sg[NPTEPG / SG4_LEV3SIZE];
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
ptsize = (Sysptsize + howmany(ptextra, NPTEPG)) << PGSHIFT;
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG);
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
ste = &ste[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE) * 2];
este = &ste[NPTEPG / SG4_LEV3SIZE];
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[NPTEPG];
epte = &pte[nptpages * NPTEPG];
#define USRIOSIZE (1 * NPTEPG) /* 4MB */
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG) +
(IIOMAPSIZE + EIOMAPSIZE + NPTEPG - 1) / NPTEPG;
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
ste = &ste[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE) * 2];
este = &ste[NPTEPG / SG4_LEV3SIZE];
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[NPTEPG - 1];
epte = &pte[nptpages * NPTEPG];
#define SYSMAP_VA (0U - PAGE_SIZE*NPTEPG*2)
#define SYSMAP_VA ((vaddr_t)(LUNA68K_IO0_TT_BASE-PAGE_SIZE*NPTEPG))
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG);
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[nptpages * NPTEPG];
#define NBSEG (PAGE_SIZE*NPTEPG)
#define SYSMAP_VA ((vaddr_t)(0-PAGE_SIZE*NPTEPG))
st_entry_t *este = &ste[NPTEPG/SG4_LEV3SIZE];
ste -= NPTEPG/SG4_LEV3SIZE;
for (este = &ste[NPTEPG/SG4_LEV3SIZE]; ste < este; ste++) {
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
(IIOMAPSIZE + ROMMAPSIZE + btoc(vidlen) + NPTEPG - 1) / NPTEPG;
nptpages += howmany(physmem, NPTEPG);
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
ste = &ste[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE)];
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[nptpages * NPTEPG];
sysmap_size = (sysmap_size + NPTEPG - 1) & -NPTEPG;
i += NPTEPG, j++, va += NBSEG) {
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG) +
(iiomappages + NPTEPG - 1) / NPTEPG;
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
ste = &ste[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE)];
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[nptpages * NPTEPG];
#define SYSMAP_VA ((vaddr_t)(NEWS68K_PROM_TT_BASE-PAGE_SIZE*NPTEPG))
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG);
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[nptpages * NPTEPG];
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG) +
(IIOMAPSIZE + fbnpages + NPTEPG - 1) / NPTEPG;
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
ste = &ste[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE)];
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[nptpages * NPTEPG];
const size_t pte_idx = (va >> PGSHIFT) & (NPTEPG - 1);
const vsize_t dm_nsegtabs = (physmem + NPTEPG - 1) / NPTEPG;
const size_t pte_idx = (va >> PGSHIFT) & (NPTEPG - 1);
#define NBSEG (NBPG*NPTEPG)
#define PMAP_SEGTABSIZE NPTEPG
#define PMAP_PDETABSIZE NPTEPG
#define NSEGPG NPTEPG
#define NPDEPG NPTEPG
for (i = 0; i < NPTEPG; i += 8)
lr = pm->pm_p0lr/NPTEPG;
ptpp = (int *)kvtopte(&pm->pm_p0br[i*NPTEPG]);
br = (int *)&pm->pm_p0br[i*NPTEPG];
for (j = 0; j < NPTEPG; j+=LTOHPN) {
lr = pm->pm_p1lr/NPTEPG;
for (i = lr; i < NPTEPERREG/NPTEPG; i++) {
ptpp = (int *)kvtopte(&pm->pm_p1br[i*NPTEPG]);
br = (int *)&pm->pm_p1br[i*NPTEPG];
for (j = 0; j < NPTEPG; j+=LTOHPN) {
for (i = 0; i < NPTEPG; i++)
#define SYSMAP_VA ((vaddr_t)(VIRT68K_IO_BASE-PAGE_SIZE*NPTEPG))
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG);
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[nptpages * NPTEPG];
kstsize = MAXKL2SIZE / (NPTEPG/SG4_LEV2SIZE);
howmany(RELOC(physmem, psize_t), NPTEPG) +
(IIOMAPSIZE + NPTEPG - 1) / NPTEPG;
este = &ste[kstsize * NPTEPG];
nl2desc = nptpages * (NPTEPG / SG4_LEV3SIZE);
ste = &ste[i + SG4_LEV2SIZE - (NPTEPG / SG4_LEV3SIZE)];
este = &ste[NPTEPG / SG4_LEV3SIZE];
epte = &pte[nptpages * NPTEPG];
pt_entry_t ppg_ptes[NPTEPG];
const size_t pte_idx = (va >> PGSHIFT) & (NPTEPG - 1);
const size_t pte_idx = (va >> PGSHIFT) & (NPTEPG - 1);
for (size_t j = 0; j < NPTEPG; j++) {
for (size_t i = j + 1; i < NPTEPG; i++)