summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2008-03-01 22:54:42 +0000
committermarcel <marcel@FreeBSD.org>2008-03-01 22:54:42 +0000
commit7834123faf84837f07b0d243ed77aae77b67d435 (patch)
tree2dab9aaf132c83b82a19dddc7bb7cbf0f5c143bf /sys/vm
parente9e93481a8e9f4c5bab2705e722f0fc56514bb21 (diff)
downloadFreeBSD-src-7834123faf84837f07b0d243ed77aae77b67d435.zip
FreeBSD-src-7834123faf84837f07b0d243ed77aae77b67d435.tar.gz
Make the vm_pmap field of struct vmspace the last field in the
structure. This allows per-CPU variations of struct pmap on a single architecture without affecting the machine-independent fields. As such, the PMAP variations don't affect the ABI. They become part of it.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_map.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h
index 1d3d90d..28479e3 100644
--- a/sys/vm/vm_map.h
+++ b/sys/vm/vm_map.h
@@ -233,7 +233,6 @@ vm_map_modflags(vm_map_t map, vm_flags_t set, vm_flags_t clear)
*/
struct vmspace {
struct vm_map vm_map; /* VM address map */
- struct pmap vm_pmap; /* private physical map */
struct shmmap_state *vm_shm; /* SYS5 shared memory private data XXX */
segsz_t vm_swrss; /* resident set size before last swap */
segsz_t vm_tsize; /* text size (pages) XXX */
@@ -243,6 +242,12 @@ struct vmspace {
caddr_t vm_daddr; /* (c) user virtual address of data */
caddr_t vm_maxsaddr; /* user VA at max stack growth */
int vm_refcnt; /* number of references */
+ /*
+ * Keep the PMAP last, so that CPU-specific variations of that
+ * structure on a single architecture don't result in offset
+ * variations of the machine-independent fields in the vmspace.
+ */
+ struct pmap vm_pmap; /* private physical map */
};
#ifdef _KERNEL
OpenPOWER on IntegriCloud