Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F140113821
D22896.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D22896.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D22896: Define a unified pmap structure for i386.
Attached
Detach File
Event Timeline
Log In to Comment