summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJeremy Fitzhardinge2008-06-16 13:30:01 +0200
committerIngo Molnar2008-06-25 15:16:00 +0200
commit08b882c627aeeeb3cfd3c4354f0d360d7949549d (patch)
treebf4a25b0bf67c8e5886425ccd9eddc436602fa21 /arch
parentmm: add a ptep_modify_prot transaction abstraction (diff)
downloadkernel-qcow2-linux-08b882c627aeeeb3cfd3c4354f0d360d7949549d.tar.gz
kernel-qcow2-linux-08b882c627aeeeb3cfd3c4354f0d360d7949549d.tar.xz
kernel-qcow2-linux-08b882c627aeeeb3cfd3c4354f0d360d7949549d.zip
paravirt: add hooks for ptep_modify_prot_start/commit
This patch adds paravirt-ops hooks in pv_mmu_ops for ptep_modify_prot_start and ptep_modify_prot_commit. This allows the hypervisor-specific backends to implement these in some more efficient way. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Acked-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/paravirt.c3
-rw-r--r--arch/x86/xen/enlighten.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index c98d54688180..f1ab0f727007 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -380,6 +380,9 @@ struct pv_mmu_ops pv_mmu_ops = {
.pte_update = paravirt_nop,
.pte_update_defer = paravirt_nop,
+ .ptep_modify_prot_start = __ptep_modify_prot_start,
+ .ptep_modify_prot_commit = __ptep_modify_prot_commit,
+
#ifdef CONFIG_HIGHPTE
.kmap_atomic_pte = kmap_atomic,
#endif
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 73fb0c4c150a..0b7553cbc529 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1138,6 +1138,9 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
.set_pte_at = xen_set_pte_at,
.set_pmd = xen_set_pmd_hyper,
+ .ptep_modify_prot_start = __ptep_modify_prot_start,
+ .ptep_modify_prot_commit = __ptep_modify_prot_commit,
+
.pte_val = xen_pte_val,
.pte_flags = native_pte_val,
.pgd_val = xen_pgd_val,