pmap_segtab_info
#define PDETAB_ADD(n, v) (pmap_segtab_info.pdealloc.n += (v))
#define SEGTAB_ADD(n, v) (pmap_segtab_info.segalloc.n += (v))
} pmap_segtab_info = {
.ptp_pgflist = LIST_HEAD_INITIALIZER(pmap_segtab_info.ptp_pgflist),
ppg = pmap_pgcache_alloc(&pmap_segtab_info.ppg_flist);
pmap_segtab_pagecache(&pmap_segtab_info.ppg_flist, ppg);
(uintptr_t)pmap_segtab_info.pdealloc.free_pdetab, 0, 0, 0);
if (__predict_true((ptb = pmap_segtab_info.pdealloc.free_pdetab) != NULL)) {
pmap_segtab_info.pdealloc.free_pdetab = ptb->pde_next;
if (__predict_true((stb = pmap_segtab_info.segalloc.free_segtab) != NULL)) {
pmap_segtab_info.segalloc.free_segtab = stb->seg_next;
stb[n - 1].seg_next = pmap_segtab_info.segalloc.free_segtab;
pmap_segtab_info.segalloc.free_segtab = stb + 1;
ptb->pde_next = pmap_segtab_info.pdealloc.free_pdetab;
pmap_segtab_info.pdealloc.free_pdetab = ptb;
stb->seg_next = pmap_segtab_info.segalloc.free_segtab;
pmap_segtab_info.segalloc.free_segtab = stb;