diff options
author | attilio <attilio@FreeBSD.org> | 2012-03-07 11:13:18 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2012-03-07 11:13:18 +0000 |
commit | c3aa7e10fe7a2cfc2e5063bfb0e3be95ac23b98c (patch) | |
tree | cb466856e6a02e4e347475be41594785005f775b /sys/i386/include/pmap.h | |
parent | 9e6356665029119d3c87435a2c2342ad1f2df3bd (diff) | |
download | FreeBSD-src-c3aa7e10fe7a2cfc2e5063bfb0e3be95ac23b98c.zip FreeBSD-src-c3aa7e10fe7a2cfc2e5063bfb0e3be95ac23b98c.tar.gz |
Port r226920,226941 from amd64.
Diffstat (limited to 'sys/i386/include/pmap.h')
-rw-r--r-- | sys/i386/include/pmap.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sys/i386/include/pmap.h b/sys/i386/include/pmap.h index 3012a00..63048e0 100644 --- a/sys/i386/include/pmap.h +++ b/sys/i386/include/pmap.h @@ -426,10 +426,20 @@ struct pv_entry; struct pv_chunk; struct md_page { - TAILQ_HEAD(,pv_entry) pv_list; - int pat_mode; + union { + TAILQ_HEAD(,pv_entry) pvi_list; + struct { + vm_page_t pii_left; + vm_page_t pii_right; + } pvi_siters; + } pv_structs; + int pat_mode; }; +#define pv_list pv_structs.pvi_list +#define pv_left pv_structs.pvi_siters.pii_left +#define pv_right pv_structs.pvi_siters.pii_right + struct pmap { struct mtx pm_mtx; pd_entry_t *pm_pdir; /* KVA of page directory */ @@ -468,7 +478,7 @@ extern struct pmap kernel_pmap_store; */ typedef struct pv_entry { vm_offset_t pv_va; /* virtual address for mapping */ - TAILQ_ENTRY(pv_entry) pv_list; + TAILQ_ENTRY(pv_entry) pv_next; } *pv_entry_t; /* |