svn commit: r197770 - head/sys/arm/arm
Stanislav Sedov
stas at FreeBSD.org
Mon Oct 5 10:08:59 UTC 2009
Author: stas
Date: Mon Oct 5 10:08:58 2009
New Revision: 197770
URL: http://svn.freebsd.org/changeset/base/197770
Log:
- Drop unused pmap_use_l1 function and comment out currently unused
pmap_dcache_wbinv_all/pmap_copy_page functions which we might want
to take advatage of later. This fixes the build with PMAP_DEBUG
defined.
Discussed with: cognet
Modified:
head/sys/arm/arm/pmap.c
Modified: head/sys/arm/arm/pmap.c
==============================================================================
--- head/sys/arm/arm/pmap.c Mon Oct 5 09:28:54 2009 (r197769)
+++ head/sys/arm/arm/pmap.c Mon Oct 5 10:08:58 2009 (r197770)
@@ -203,7 +203,6 @@ static void pmap_enter_locked(pmap_t, v
static void pmap_fix_cache(struct vm_page *, pmap_t, vm_offset_t);
static void pmap_alloc_l1(pmap_t);
static void pmap_free_l1(pmap_t);
-static void pmap_use_l1(pmap_t);
static int pmap_clearbit(struct vm_page *, u_int);
@@ -829,47 +828,6 @@ pmap_free_l1(pmap_t pm)
mtx_unlock(&l1_lru_lock);
}
-static PMAP_INLINE void
-pmap_use_l1(pmap_t pm)
-{
- struct l1_ttable *l1;
-
- /*
- * Do nothing if we're in interrupt context.
- * Access to an L1 by the kernel pmap must not affect
- * the LRU list.
- */
- if (pm == pmap_kernel())
- return;
-
- l1 = pm->pm_l1;
-
- /*
- * If the L1 is not currently on the LRU list, just return
- */
- if (l1->l1_domain_use_count == PMAP_DOMAINS)
- return;
-
- mtx_lock(&l1_lru_lock);
-
- /*
- * Check the use count again, now that we've acquired the lock
- */
- if (l1->l1_domain_use_count == PMAP_DOMAINS) {
- mtx_unlock(&l1_lru_lock);
- return;
- }
-
- /*
- * Move the L1 to the back of the LRU list
- */
- TAILQ_REMOVE(&l1_lru_list, l1, l1_lru);
- TAILQ_INSERT_TAIL(&l1_lru_list, l1, l1_lru);
-
- mtx_unlock(&l1_lru_lock);
-}
-
-
/*
* Returns a pointer to the L2 bucket associated with the specified pmap
* and VA, or NULL if no L2 bucket exists for the address.
@@ -1311,6 +1269,7 @@ pmap_idcache_wbinv_all(pmap_t pm)
}
}
+#ifdef notyet
static PMAP_INLINE void
pmap_dcache_wbinv_all(pmap_t pm)
{
@@ -1320,6 +1279,7 @@ pmap_dcache_wbinv_all(pmap_t pm)
cpu_l2cache_wbinv_all();
}
}
+#endif
/*
* PTE_SYNC_CURRENT:
@@ -1914,7 +1874,7 @@ pmap_init(void)
{
int shpgperproc = PMAP_SHPGPERPROC;
- PDEBUG(1, printf("pmap_init: phys_start = %08x\n"));
+ PDEBUG(1, printf("pmap_init: phys_start = %08x\n", PHYSADDR));
/*
* init the pv free list
@@ -2373,8 +2333,8 @@ pmap_bootstrap(vm_offset_t firstaddr, vm
vm_size_t size;
int l1idx, l2idx, l2next = 0;
- PDEBUG(1, printf("firstaddr = %08x, loadaddr = %08x\n",
- firstaddr, loadaddr));
+ PDEBUG(1, printf("firstaddr = %08x, lastaddr = %08x\n",
+ firstaddr, lastaddr));
virtual_avail = firstaddr;
kernel_pmap->pm_l1 = l1;
@@ -4251,7 +4211,7 @@ pmap_zero_page_idle(vm_page_t m)
* pmap_clean_page()
*
* This is a local function used to work out the best strategy to clean
- * a single page referenced by its entry in the PV table. It's used by
+ * a single page referenced by its entry in the PV table. It should be used by
* pmap_copy_page, pmap_zero page and maybe some others later on.
*
* Its policy is effectively:
@@ -4266,6 +4226,8 @@ pmap_zero_page_idle(vm_page_t m)
* mapped at 0x00000000 a whole cache clean will be performed rather than
* just the 1 page. Since this should not occur in everyday use and if it does
* it will just result in not the most efficient clean for the page.
+ *
+ * We don't yet use this function but may want to.
*/
static int
pmap_clean_page(struct pv_entry *pv, boolean_t is_src)
More information about the svn-src-all
mailing list