Page MenuHomeFreeBSD

D22896.diff
No OneTemporary

D22896.diff

Index: head/sys/i386/i386/pmap.c
===================================================================
--- head/sys/i386/i386/pmap.c
+++ head/sys/i386/i386/pmap.c
@@ -216,9 +216,6 @@
atomic_clear_int((u_int *)(pte), PG_W))
#define pmap_pte_set_prot(pte, v) ((*(int *)pte &= ~PG_PROT), (*(int *)pte |= (v)))
-_Static_assert(sizeof(struct pmap) <= sizeof(struct pmap_KBI),
- "pmap_KBI");
-
static int pgeflag = 0; /* PG_G or-in */
static int pseflag = 0; /* PG_PS or-in */
Index: head/sys/i386/i386/pmap_nopae.c
===================================================================
--- head/sys/i386/i386/pmap_nopae.c
+++ head/sys/i386/i386/pmap_nopae.c
@@ -42,7 +42,7 @@
#include <vm/vm.h>
#include <vm/vm_param.h>
#define PMTYPE pmap_nopae_
+#define pm_pdir pm_pdir_nopae
#include <machine/pmap_nopae.h>
#include <vm/pmap.h>
-_Static_assert(sizeof(struct pmap_KBI) >= sizeof(struct pmap), "pmap KBI");
#include "pmap.c"
Index: head/sys/i386/i386/pmap_pae.c
===================================================================
--- head/sys/i386/i386/pmap_pae.c
+++ head/sys/i386/i386/pmap_pae.c
@@ -43,7 +43,8 @@
#include <vm/vm.h>
#include <vm/vm_param.h>
#define PMTYPE pmap_pae_
+#define pm_pdir pm_pdir_pae
+#define pm_pdpt pm_pdpt_pae
#include <machine/pmap_pae.h>
#include <vm/pmap.h>
-_Static_assert(sizeof(struct pmap_KBI) >= sizeof(struct pmap), "pmap KBI");
#include "pmap.c"
Index: head/sys/i386/include/pmap.h
===================================================================
--- head/sys/i386/include/pmap.h
+++ head/sys/i386/include/pmap.h
@@ -166,30 +166,18 @@
int pat_mode;
};
-#define PMAP_EXTERN_FIELDS \
- cpuset_t pm_active; /* active on cpus */ \
- struct mtx pm_mtx; \
- struct pmap_statistics pm_stats; /* pmap statistics */
-
-struct pmap_KBI {
- PMAP_EXTERN_FIELDS
- int32_t pm_fill[32];
-};
-
-#ifdef PMTYPE
struct pmap {
- PMAP_EXTERN_FIELDS
- pd_entry_t *pm_pdir; /* KVA of page directory */
+ cpuset_t pm_active; /* active on cpus */
+ struct mtx pm_mtx;
+ struct pmap_statistics pm_stats; /* pmap statistics */
+ uint32_t *pm_pdir_nopae; /* KVA of page directory */
+ uint64_t *pm_pdir_pae;
TAILQ_HEAD(,pv_chunk) pm_pvchunk; /* list of mappings in pmap */
LIST_ENTRY(pmap) pm_list; /* List of all pmaps */
- pdpt_entry_t *pm_pdpt; /* KVA of page directory pointer
- table */
+ uint64_t *pm_pdpt_pae;
struct vm_radix pm_root; /* spare page table pages */
- vm_page_t pm_ptdpg[NPGPTD];
+ vm_page_t pm_ptdpg[4]; /* PAE NPGPTD */
};
-#else
-#define pmap pmap_KBI
-#endif
typedef struct pmap *pmap_t;

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 21, 10:18 AM (7 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27111439
Default Alt Text
D22896.diff (2 KB)

Event Timeline