summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorjhibbits <jhibbits@FreeBSD.org>2016-12-23 03:19:48 +0000
committerjhibbits <jhibbits@FreeBSD.org>2016-12-23 03:19:48 +0000
commitdbd01dd4e07f439c0a64f515d7a3bb3d12f10eea (patch)
treef21776e6ff9b5cbd8a858e2adb2bfa08f6721b86 /sys/powerpc
parentf780cab2fe3253f3091157bf02029711ec224574 (diff)
downloadFreeBSD-src-dbd01dd4e07f439c0a64f515d7a3bb3d12f10eea.zip
FreeBSD-src-dbd01dd4e07f439c0a64f515d7a3bb3d12f10eea.tar.gz
MFC r304052:
Add missing pmap_kremove() method for book-e.
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/booke/pmap.c2
-rw-r--r--sys/powerpc/powerpc/mmu_if.m10
-rw-r--r--sys/powerpc/powerpc/pmap_dispatch.c8
3 files changed, 19 insertions, 1 deletions
diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c
index 429f8a9..616601b 100644
--- a/sys/powerpc/booke/pmap.c
+++ b/sys/powerpc/booke/pmap.c
@@ -385,7 +385,7 @@ static mmu_method_t mmu_booke_methods[] = {
MMUMETHOD(mmu_kenter, mmu_booke_kenter),
MMUMETHOD(mmu_kenter_attr, mmu_booke_kenter_attr),
MMUMETHOD(mmu_kextract, mmu_booke_kextract),
-/* MMUMETHOD(mmu_kremove, mmu_booke_kremove), */
+ MMUMETHOD(mmu_kremove, mmu_booke_kremove),
MMUMETHOD(mmu_unmapdev, mmu_booke_unmapdev),
MMUMETHOD(mmu_change_attr, mmu_booke_change_attr),
diff --git a/sys/powerpc/powerpc/mmu_if.m b/sys/powerpc/powerpc/mmu_if.m
index ce05bd4..b2b79a9 100644
--- a/sys/powerpc/powerpc/mmu_if.m
+++ b/sys/powerpc/powerpc/mmu_if.m
@@ -870,6 +870,16 @@ METHOD void kenter_attr {
} DEFAULT mmu_null_kenter_attr;
/**
+ * @brief Unmap a wired page from kernel virtual address space
+ *
+ * @param _va mapped virtual address
+ */
+METHOD void kremove {
+ mmu_t _mmu;
+ vm_offset_t _va;
+};
+
+/**
* @brief Determine if the given physical address range has been direct-mapped.
*
* @param _pa physical address start
diff --git a/sys/powerpc/powerpc/pmap_dispatch.c b/sys/powerpc/powerpc/pmap_dispatch.c
index e7b6d76..35f8d1e 100644
--- a/sys/powerpc/powerpc/pmap_dispatch.c
+++ b/sys/powerpc/powerpc/pmap_dispatch.c
@@ -510,6 +510,14 @@ pmap_kenter_attr(vm_offset_t va, vm_offset_t pa, vm_memattr_t ma)
MMU_KENTER_ATTR(mmu_obj, va, pa, ma);
}
+void
+pmap_kremove(vm_offset_t va)
+{
+
+ CTR2(KTR_PMAP, "%s(%#x)", __func__, va);
+ return (MMU_KREMOVE(mmu_obj, va));
+}
+
boolean_t
pmap_dev_direct_mapped(vm_paddr_t pa, vm_size_t size)
{
OpenPOWER on IntegriCloud