summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2006-05-26 17:11:40 +0000
committermiod <miod@openbsd.org>2006-05-26 17:11:40 +0000
commit6bcb2ac6f00f2343abf626fae335218974ebd57b (patch)
treea620ce43338cc577d44185fba9e270acc7762ec1
parentGet rid of katelib.h, it was almost unused and is marked as deprecated anyway. (diff)
downloadwireguard-openbsd-6bcb2ac6f00f2343abf626fae335218974ebd57b.tar.xz
wireguard-openbsd-6bcb2ac6f00f2343abf626fae335218974ebd57b.zip
No need to have a struct uvm_object in each pmap when all you want is a
lock and a reference count. No functional change.
-rw-r--r--sys/arch/arm/arm/pmap.c16
-rw-r--r--sys/arch/arm/include/pmap.h7
2 files changed, 8 insertions, 15 deletions
diff --git a/sys/arch/arm/arm/pmap.c b/sys/arch/arm/arm/pmap.c
index def0947639e..42aaa0a0dc7 100644
--- a/sys/arch/arm/arm/pmap.c
+++ b/sys/arch/arm/arm/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.7 2006/05/26 17:06:39 miod Exp $ */
+/* $OpenBSD: pmap.c,v 1.8 2006/05/26 17:11:40 miod Exp $ */
/* $NetBSD: pmap.c,v 1.147 2004/01/18 13:03:50 scw Exp $ */
/*
@@ -1905,10 +1905,7 @@ pmap_create(void)
pm = pool_cache_get(&pmap_pmap_cache, PR_WAITOK);
simple_lock_init(&pm->pm_lock);
- pm->pm_obj.pgops = NULL; /* currently not a mappable object */
- TAILQ_INIT(&pm->pm_obj.memq);
- pm->pm_obj.uo_npages = 0;
- pm->pm_obj.uo_refs = 1;
+ pm->pm_refs = 1;
pm->pm_stats.wired_count = 0;
pm->pm_stats.resident_count = 1;
pm->pm_cstate.cs_all = 0;
@@ -3191,7 +3188,7 @@ pmap_destroy(pmap_t pm)
* Drop reference count
*/
simple_lock(&pm->pm_lock);
- count = --pm->pm_obj.uo_refs;
+ count = --pm->pm_refs;
simple_unlock(&pm->pm_lock);
if (count > 0) {
if (pmap_is_current(pm)) {
@@ -3261,7 +3258,7 @@ pmap_reference(pmap_t pm)
pmap_use_l1(pm);
simple_lock(&pm->pm_lock);
- pm->pm_obj.uo_refs++;
+ pm->pm_refs++;
simple_unlock(&pm->pm_lock);
}
@@ -3846,10 +3843,7 @@ pmap_bootstrap(pd_entry_t *kernel_l1pt, vaddr_t vstart, vaddr_t vend)
pm->pm_domain = PMAP_DOMAIN_KERNEL;
pm->pm_cstate.cs_all = PMAP_CACHE_STATE_ALL;
simple_lock_init(&pm->pm_lock);
- pm->pm_obj.pgops = NULL;
- TAILQ_INIT(&pm->pm_obj.memq);
- pm->pm_obj.uo_npages = 0;
- pm->pm_obj.uo_refs = 1;
+ pm->pm_refs = 1;
/*
* Scan the L1 translation table created by initarm() and create
diff --git a/sys/arch/arm/include/pmap.h b/sys/arch/arm/include/pmap.h
index 2c979015165..bf8cff16d6b 100644
--- a/sys/arch/arm/include/pmap.h
+++ b/sys/arch/arm/include/pmap.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.h,v 1.4 2005/11/09 18:08:37 martin Exp $ */
+/* $OpenBSD: pmap.h,v 1.5 2006/05/26 17:11:41 miod Exp $ */
/* $NetBSD: pmap.h,v 1.76 2003/09/06 09:10:46 rearnsha Exp $ */
/*
@@ -75,7 +75,6 @@
#include <arm/pte.h>
#ifndef _LOCORE
#include <arm/cpufunc.h>
-#include <uvm/uvm_object.h>
#endif
/*
@@ -174,8 +173,8 @@ struct pmap {
boolean_t pm_remove_all;
struct l1_ttable *pm_l1;
union pmap_cache_state pm_cstate;
- struct uvm_object pm_obj;
-#define pm_lock pm_obj.vmobjlock
+ u_int pm_refs;
+ simple_lock_data_t pm_lock;
struct l2_dtable *pm_l2[L2_SIZE];
struct pmap_statistics pm_stats;
LIST_ENTRY(pmap) pm_list;