aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/domain.h
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@citrix.com>2011-06-06 09:49:57 +0100
committerTim Deegan <Tim.Deegan@citrix.com>2011-06-06 09:49:57 +0100
commitfff9b78e1ab8d14a88e792ab520f2d09a4029a07 (patch)
treee1336d8e7aabcb8a6b7ff6d2af629d56ef6e632e /xen/include/asm-x86/domain.h
parent090f81d3f5f2aaabd05e52747de5a65f8e454094 (diff)
parenta2e55460988adcd150c9d80b790f10a95a9203c7 (diff)
downloadxen-fff9b78e1ab8d14a88e792ab520f2d09a4029a07.tar.gz
xen-fff9b78e1ab8d14a88e792ab520f2d09a4029a07.tar.bz2
xen-fff9b78e1ab8d14a88e792ab520f2d09a4029a07.zip
Merge
Diffstat (limited to 'xen/include/asm-x86/domain.h')
-rw-r--r--xen/include/asm-x86/domain.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 47edad0d18..9d30fe5ea2 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -516,12 +516,14 @@ unsigned long pv_guest_cr4_fixup(const struct vcpu *, unsigned long guest_cr4);
/* Convert between guest-visible and real CR4 values. */
#define pv_guest_cr4_to_real_cr4(v) \
(((v)->arch.pv_vcpu.ctrlreg[4] \
- | (mmu_cr4_features & (X86_CR4_PGE | X86_CR4_PSE)) \
- | ((v)->domain->arch.vtsc ? X86_CR4_TSD : 0) \
- | ((xsave_enabled(v))? X86_CR4_OSXSAVE : 0)) \
- & ~X86_CR4_DE)
-#define real_cr4_to_pv_guest_cr4(c) \
- ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD | X86_CR4_OSXSAVE))
+ | (mmu_cr4_features \
+ & (X86_CR4_PGE | X86_CR4_PSE | X86_CR4_SMEP)) \
+ | ((v)->domain->arch.vtsc ? X86_CR4_TSD : 0) \
+ | ((xsave_enabled(v))? X86_CR4_OSXSAVE : 0)) \
+ & ~X86_CR4_DE)
+#define real_cr4_to_pv_guest_cr4(c) \
+ ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD \
+ | X86_CR4_OSXSAVE | X86_CR4_SMEP))
void domain_cpuid(struct domain *d,
unsigned int input,