summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-06-29 21:20:04 +0000
committeralc <alc@FreeBSD.org>2003-06-29 21:20:04 +0000
commit44509f207ffb90a4c042b0c0dc5a3e9d028286e1 (patch)
treecbf4164c252ea54c47f261463c387040c94342b3 /sys/powerpc
parenta9748f6066b3fe0a5ff8421326c9be1cd9a1d5b5 (diff)
downloadFreeBSD-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.c8
-rw-r--r--sys/powerpc/powerpc/mmu_oea.c8
-rw-r--r--sys/powerpc/powerpc/pmap.c8
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)
{
OpenPOWER on IntegriCloud