diff options
author | alc <alc@FreeBSD.org> | 2003-06-29 21:20:04 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-06-29 21:20:04 +0000 |
commit | 44509f207ffb90a4c042b0c0dc5a3e9d028286e1 (patch) | |
tree | cbf4164c252ea54c47f261463c387040c94342b3 /sys/powerpc | |
parent | a9748f6066b3fe0a5ff8421326c9be1cd9a1d5b5 (diff) | |
download | FreeBSD-src-44509f207ffb90a4c042b0c0dc5a3e9d028286e1.zip FreeBSD-src-44509f207ffb90a4c042b0c0dc5a3e9d028286e1.tar.gz |
- Export pmap_enter_quick() to the MI VM. This will permit the
implementation of a largely MI pmap_object_init_pt() for vnode-backed
objects. pmap_enter_quick() is implemented via pmap_enter() on sparc64
and powerpc.
- Correct a mismatch between pmap_object_init_pt()'s prototype and its
various implementations. (I plan to keep pmap_object_init_pt() as
the MD hook for device-backed objects on i386 and amd64.)
- Correct an error in ia64's pmap_enter_quick() and adjust its interface
to match the other versions. Discussed with: marcel
Diffstat (limited to 'sys/powerpc')
-rw-r--r-- | sys/powerpc/aim/mmu_oea.c | 8 | ||||
-rw-r--r-- | sys/powerpc/powerpc/mmu_oea.c | 8 | ||||
-rw-r--r-- | sys/powerpc/powerpc/pmap.c | 8 |
3 files changed, 24 insertions, 0 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index ef84865..35f2a8e 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -1032,6 +1032,14 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, pmap_syncicache(VM_PAGE_TO_PHYS(m), PAGE_SIZE); } +vm_page_t +pmap_enter_quick(pmap_t pm, vm_offset_t va, vm_page_t m, vm_page_t mpte) +{ + + pmap_enter(pm, va, m, VM_PROT_READ | VM_PROT_EXECUTE, FALSE); + return (NULL); +} + vm_offset_t pmap_extract(pmap_t pm, vm_offset_t va) { diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c index ef84865..35f2a8e 100644 --- a/sys/powerpc/powerpc/mmu_oea.c +++ b/sys/powerpc/powerpc/mmu_oea.c @@ -1032,6 +1032,14 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, pmap_syncicache(VM_PAGE_TO_PHYS(m), PAGE_SIZE); } +vm_page_t +pmap_enter_quick(pmap_t pm, vm_offset_t va, vm_page_t m, vm_page_t mpte) +{ + + pmap_enter(pm, va, m, VM_PROT_READ | VM_PROT_EXECUTE, FALSE); + return (NULL); +} + vm_offset_t pmap_extract(pmap_t pm, vm_offset_t va) { diff --git a/sys/powerpc/powerpc/pmap.c b/sys/powerpc/powerpc/pmap.c index ef84865..35f2a8e 100644 --- a/sys/powerpc/powerpc/pmap.c +++ b/sys/powerpc/powerpc/pmap.c @@ -1032,6 +1032,14 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, pmap_syncicache(VM_PAGE_TO_PHYS(m), PAGE_SIZE); } +vm_page_t +pmap_enter_quick(pmap_t pm, vm_offset_t va, vm_page_t m, vm_page_t mpte) +{ + + pmap_enter(pm, va, m, VM_PROT_READ | VM_PROT_EXECUTE, FALSE); + return (NULL); +} + vm_offset_t pmap_extract(pmap_t pm, vm_offset_t va) { |