aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorZachary Amsden <zach@vmware.com>2006-10-01 02:29:38 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-01 03:39:34 -0400
commit789e6ac0a7cbbb38402293256a295302fd8a1100 (patch)
tree65a1c946f72bdbc8226c2fab5882cc56b9da031e /arch
parenta93cb055a23f3172c1e6a22ac1dc4f1c07929b08 (diff)
[PATCH] paravirt: update pte hook
Add a pte_update_hook which notifies about pte changes that have been made without using the set_pte / clear_pte interfaces. This allows shadow mode hypervisors which do not trap on page table access to maintain synchronized shadows. It also turns out, there was one pte update in PAE mode that wasn't using any accessor interface at all for setting NX protection. Considering it is PAE specific, and the accessor is i386 specific, I didn't want to add a generic encapsulation of this behavior yet. Signed-off-by: Zachary Amsden <zach@vmware.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/mm/init.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c
index 4a5a914b3432..90089c14c23d 100644
--- a/arch/i386/mm/init.c
+++ b/arch/i386/mm/init.c
@@ -493,6 +493,7 @@ int __init set_kernel_exec(unsigned long vaddr, int enable)
493 pte->pte_high &= ~(1 << (_PAGE_BIT_NX - 32)); 493 pte->pte_high &= ~(1 << (_PAGE_BIT_NX - 32));
494 else 494 else
495 pte->pte_high |= 1 << (_PAGE_BIT_NX - 32); 495 pte->pte_high |= 1 << (_PAGE_BIT_NX - 32);
496 pte_update_defer(&init_mm, vaddr, pte);
496 __flush_tlb_all(); 497 __flush_tlb_all();
497out: 498out:
498 return ret; 499 return ret;