diff options
author | jhibbits <jhibbits@FreeBSD.org> | 2016-12-23 03:19:48 +0000 |
---|---|---|
committer | jhibbits <jhibbits@FreeBSD.org> | 2016-12-23 03:19:48 +0000 |
commit | dbd01dd4e07f439c0a64f515d7a3bb3d12f10eea (patch) | |
tree | f21776e6ff9b5cbd8a858e2adb2bfa08f6721b86 /sys | |
parent | f780cab2fe3253f3091157bf02029711ec224574 (diff) | |
download | FreeBSD-src-dbd01dd4e07f439c0a64f515d7a3bb3d12f10eea.zip FreeBSD-src-dbd01dd4e07f439c0a64f515d7a3bb3d12f10eea.tar.gz |
MFC r304052:
Add missing pmap_kremove() method for book-e.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/powerpc/booke/pmap.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/mmu_if.m | 10 | ||||
-rw-r--r-- | sys/powerpc/powerpc/pmap_dispatch.c | 8 |
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) { |