mmuentry
TAILQ_HEAD(mmuhd,mmuentry);
static int me_alloc(struct mmuentry *, struct pmap *, int, int);
static int region_alloc(struct mmuentry *, struct pmap *, int);
me_alloc(struct mmuentry *mh, struct pmap *newpm, int newvreg, int newvseg)
struct mmuentry *me;
struct mmuentry *me = &mmusegments[pmeg];
region_alloc(struct mmuentry *mh, struct pmap *newpm, int newvr)
struct mmuentry *me;
struct mmuentry *me = &mmuregions[smeg];
int vr, struct mmuentry *mh)
struct mmuentry *me = &mmusegments[pmeg];
struct mmuentry *me = &mmusegments[pmeg];
int vr, int vs, struct mmuentry *mh)
struct mmuentry *prev, *next;
TAILQ_ENTRY(mmuentry) me_pmchain; /* pmap owner link */
struct mmuentry *mmusegments; /* allocated in pmap_bootstrap */
struct mmuentry *mmuregions; /* allocated in pmap_bootstrap */
struct mmuentry segm_freelist, segm_lru, segm_locked;
struct mmuentry *mmuseg;
struct mmuentry *mmureg;
struct mmuentry region_freelist, region_lru, region_locked;
mmuregions = mmureg = (struct mmuentry *)p;
p += nregion * sizeof(struct mmuentry);
memset(mmuregions, 0, nregion * sizeof(struct mmuentry));
mmusegments = mmuseg = (struct mmuentry *)p;
p += nsegment * sizeof(struct mmuentry);
mmuq_remove(struct mmuentry *e)
memset(mmusegments, 0, nsegment * sizeof(struct mmuentry));
mmuq_init(struct mmuentry *e)
static inline struct mmuentry *
mmuq_first(struct mmuentry *head)
mmuq_empty(struct mmuentry *head)
mmuq_insert_tail(struct mmuentry *head, struct mmuentry *e)