Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Aug 2014 15:56:18 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r270219 - projects/arm64/sys/arm64/arm64
Message-ID:  <201408201556.s7KFuIgm074734@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408201556.s7KFuIgm074734>