summaryrefslogtreecommitdiff
path: root/xen/arch/x86/msr.c
diff options
context:
space:
mode:
authorAndrew Cooper <andrew.cooper3@citrix.com>2018-06-27 12:34:47 +0100
committerAndrew Cooper <andrew.cooper3@citrix.com>2018-07-02 18:04:21 +0100
commitb4ac4bc410222d221dc46a74ac71efaa7b32d57c (patch)
treea409c999a89e0c132d3d8a2f63a168f9cf611392 /xen/arch/x86/msr.c
parent2df1d2ba132ff5e5d997af264f458c9182f08a26 (diff)
x86/msr: Use the architectural layout for MSR_{MISC_ENABLES,PLATFORM_INFO}
This simplifies future interactions with the toolstack, by removing the need for per-MSR custom accessors when shuffling data in/out of a policy. Use a 32bit raw backing integer (for simplicity), and use a bitfield to move the cpuid_faulting field to its appropriate position. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Sergey Dyasli <sergey.dyasli@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/arch/x86/msr.c')
-rw-r--r--xen/arch/x86/msr.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 6599f10d32..d035c67d4c 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -139,8 +139,7 @@ int guest_rdmsr(const struct vcpu *v, uint32_t msr, uint64_t *val)
break;
case MSR_INTEL_PLATFORM_INFO:
- *val = (uint64_t)dp->plaform_info.cpuid_faulting <<
- _MSR_PLATFORM_INFO_CPUID_FAULTING;
+ *val = dp->plaform_info.raw;
break;
case MSR_ARCH_CAPABILITIES:
@@ -148,8 +147,7 @@ int guest_rdmsr(const struct vcpu *v, uint32_t msr, uint64_t *val)
goto gp_fault;
case MSR_INTEL_MISC_FEATURES_ENABLES:
- *val = (uint64_t)vp->misc_features_enables.cpuid_faulting <<
- _MSR_MISC_FEATURES_CPUID_FAULTING;
+ *val = vp->misc_features_enables.raw;
break;
default:
@@ -240,8 +238,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
if ( val & rsvd )
goto gp_fault;
- vp->misc_features_enables.cpuid_faulting =
- val & MSR_MISC_FEATURES_CPUID_FAULTING;
+ vp->misc_features_enables.raw = val;
if ( v == curr && is_hvm_domain(d) && cpu_has_cpuid_faulting &&
(old_cpuid_faulting ^ vp->misc_features_enables.cpuid_faulting) )