summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-06-01 23:59:48 +0000
committeralc <alc@FreeBSD.org>2003-06-01 23:59:48 +0000
commit5ba1cfe5478d2b9cfca0374df7ecccb4497bc3a6 (patch)
treeadc1bd245ddb6f6a2b1478738bf371577de3e1c1 /sys/vm
parent113e55804c1cbad02672c9a2c7592a552a7d002c (diff)
downloadFreeBSD-src-5ba1cfe5478d2b9cfca0374df7ecccb4497bc3a6.zip
FreeBSD-src-5ba1cfe5478d2b9cfca0374df7ecccb4497bc3a6.tar.gz
Change kernel_object and kmem_object to (&kernel_object_store) and
(&kmem_object_store), respectively. This allows the address of these objects to be resolved at link-time rather than run-time.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_object.c9
-rw-r--r--sys/vm/vm_object.h7
2 files changed, 8 insertions, 8 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index a4be0ab..63166ee 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -139,10 +139,9 @@ static void vm_object_pip_sleep(vm_object_t object, char *waitid);
struct object_q vm_object_list;
struct mtx vm_object_list_mtx; /* lock for object list and count */
-vm_object_t kernel_object;
-vm_object_t kmem_object;
-static struct vm_object kernel_object_store;
-static struct vm_object kmem_object_store;
+
+struct vm_object kernel_object_store;
+struct vm_object kmem_object_store;
static long object_collapses;
static long object_bypasses;
@@ -233,7 +232,6 @@ vm_object_init(void)
TAILQ_INIT(&vm_object_list);
mtx_init(&vm_object_list_mtx, "vm object_list", NULL, MTX_DEF);
- kernel_object = &kernel_object_store;
VM_OBJECT_LOCK_INIT(&kernel_object_store);
_vm_object_allocate(OBJT_DEFAULT, OFF_TO_IDX(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS),
kernel_object);
@@ -243,7 +241,6 @@ vm_object_init(void)
* "vm object", to avoid false reports of lock-order reversal
* with a system map mutex.
*/
- kmem_object = &kmem_object_store;
mtx_init(VM_OBJECT_MTX(kmem_object), "kmem object", NULL, MTX_DEF);
_vm_object_allocate(OBJT_DEFAULT, OFF_TO_IDX(VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS),
kmem_object);
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h
index f6408b0..c3bfe09 100644
--- a/sys/vm/vm_object.h
+++ b/sys/vm/vm_object.h
@@ -167,8 +167,11 @@ TAILQ_HEAD(object_q, vm_object);
extern struct object_q vm_object_list; /* list of allocated objects */
extern struct mtx vm_object_list_mtx; /* lock for object list and count */
-extern vm_object_t kernel_object; /* the single kernel object */
-extern vm_object_t kmem_object;
+extern struct vm_object kernel_object_store;
+extern struct vm_object kmem_object_store;
+
+#define kernel_object (&kernel_object_store)
+#define kmem_object (&kmem_object_store)
#define VM_OBJECT_LOCK(object) mtx_lock(&(object)->mtx)
#define VM_OBJECT_LOCK_ASSERT(object, type) \
OpenPOWER on IntegriCloud