diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2018-06-27 12:34:47 +0100 |
---|---|---|
committer | Andrew Cooper <andrew.cooper3@citrix.com> | 2018-07-02 18:04:21 +0100 |
commit | b4ac4bc410222d221dc46a74ac71efaa7b32d57c (patch) | |
tree | a409c999a89e0c132d3d8a2f63a168f9cf611392 /xen/arch/x86/msr.c | |
parent | 2df1d2ba132ff5e5d997af264f458c9182f08a26 (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.c | 9 |
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) ) |