svn commit: r207130 - head/sys/mips/mips
Juli Mallett
jmallett at FreeBSD.org
Fri Apr 23 18:53:18 UTC 2010
Author: jmallett
Date: Fri Apr 23 18:53:17 2010
New Revision: 207130
URL: http://svn.freebsd.org/changeset/base/207130
Log:
Large memory mappings are always CPU local and always done with interrupts
disabled. Be doubly-sure that we don't try to do a TLB shootdown on SMP
systems for those mappings.
Submitted by: C. Jayachandran
Modified:
head/sys/mips/mips/pmap.c
Modified: head/sys/mips/mips/pmap.c
==============================================================================
--- head/sys/mips/mips/pmap.c Fri Apr 23 18:01:19 2010 (r207129)
+++ head/sys/mips/mips/pmap.c Fri Apr 23 18:53:17 2010 (r207130)
@@ -251,11 +251,11 @@ caddr_t virtual_sys_start = (caddr_t)0;
#define PMAP_LMEM_UNMAP() \
pte = pmap_pte(kernel_pmap, sysm->base); \
*pte = PTE_G; \
- pmap_invalidate_page(kernel_pmap, sysm->base); \
+ pmap_TLB_invalidate_kernel(sysm->base); \
sysm->valid1 = 0; \
pte = pmap_pte(kernel_pmap, sysm->base + PAGE_SIZE); \
*pte = PTE_G; \
- pmap_invalidate_page(kernel_pmap, sysm->base + PAGE_SIZE); \
+ pmap_TLB_invalidate_kernel(sysm->base + PAGE_SIZE); \
sysm->valid2 = 0; \
sched_unpin(); \
intr_restore(intr); \
More information about the svn-src-all
mailing list