aboutsummaryrefslogtreecommitdiff
path: root/sys/ia64
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2005-09-03 18:20:20 +0000
committerAlan Cox <alc@FreeBSD.org>2005-09-03 18:20:20 +0000
commitba8bca610cf08341d591a11f5d9816401bd325b3 (patch)
tree15a723ce98510b7ad44411dc2c1fe9370aed91b1 /sys/ia64
parente17c0e3256538c4ceddf4cd8c2a0a1940f89024f (diff)
downloadsrc-ba8bca610cf08341d591a11f5d9816401bd325b3.tar.gz
src-ba8bca610cf08341d591a11f5d9816401bd325b3.zip
Pass a value of type vm_prot_t to pmap_enter_quick() so that it determine
whether the mapping should permit execute access.
Notes
Notes: svn path=/head/; revision=149768
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/pmap.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c
index b2a5f6e535f6..ce0df9fd8827 100644
--- a/sys/ia64/ia64/pmap.c
+++ b/sys/ia64/ia64/pmap.c
@@ -1570,12 +1570,12 @@ validate:
* 2. Not wired.
* 3. Read access.
* 4. No page table pages.
- * 6. Page IS managed.
* but is *MUCH* faster than pmap_enter...
*/
vm_page_t
-pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte)
+pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
+ vm_page_t mpte)
{
struct ia64_lpte *pte;
pmap_t oldpmap;
@@ -1613,7 +1613,8 @@ pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte)
/* Initialise with R/O protection and enter into VHPT. */
pmap_enter_vhpt(pte, va);
- pmap_pte_prot(pmap, pte, VM_PROT_READ);
+ pmap_pte_prot(pmap, pte,
+ prot & (VM_PROT_READ | VM_PROT_EXECUTE));
pmap_set_pte(pte, va, VM_PAGE_TO_PHYS(m), FALSE, managed);
}