svn commit: r270219 - projects/arm64/sys/arm64/arm64

Andrew Turner andrew at FreeBSD.org
Wed Aug 20 15:56:18 UTC 2014


Author: andrew
Date: Wed Aug 20 15:56:18 2014
New Revision: 270219
URL: http://svnweb.freebsd.org/changeset/base/270219

Log:
  Implement pmap_remove

Modified:
  projects/arm64/sys/arm64/arm64/pmap.c

Modified: projects/arm64/sys/arm64/arm64/pmap.c
==============================================================================
--- projects/arm64/sys/arm64/arm64/pmap.c	Wed Aug 20 15:56:13 2014	(r270218)
+++ projects/arm64/sys/arm64/arm64/pmap.c	Wed Aug 20 15:56:18 2014	(r270219)
@@ -746,8 +746,18 @@ pmap_growkernel(vm_offset_t addr)
 void
 pmap_remove(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
 {
+	pt_entry_t *l3;
+	vm_offset_t va_next;
 
-	panic("pmap_remove");
+	KASSERT(pmap == pmap_kernel(), ("Only kernel mappings for now"));
+	PMAP_LOCK(pmap);
+	for (; sva < eva; sva = va_next) {
+		va_next = sva + L3_SIZE;
+		l3 = pmap_l3(pmap, sva);
+		if (l3 != NULL)
+			*l3 = 0;
+	}
+	PMAP_UNLOCK(pmap);
 }
 
 /*


More information about the svn-src-projects mailing list