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