summaryrefslogtreecommitdiff
path: root/xen/arch/x86/msr.c
diff options
context:
space:
mode:
authorAndrew Cooper <andrew.cooper3@citrix.com>2018-04-10 16:25:40 +0100
committerAndrew Cooper <andrew.cooper3@citrix.com>2020-08-27 12:48:46 +0100
commite32605b07ef2e01c9d05da9b2d5d7b8f9a5c7c1b (patch)
tree290e0d7ad82eabe541f37a89d6361efd8b754caf /xen/arch/x86/msr.c
parent70c52c46bca89de00f04aa9294e14d11a2adff80 (diff)
x86: Begin to introduce support for MSR_ARCH_CAPS
... including serialisation/deserialisation logic and unit tests. There is no current way to configure this MSR correctly for guests. The toolstack side this logic needs building, which is far easier to do with it in place. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/arch/x86/msr.c')
-rw-r--r--xen/arch/x86/msr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index ca4307e19f..c3862033eb 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -220,8 +220,10 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
break;
case MSR_ARCH_CAPABILITIES:
- /* Not implemented yet. */
- goto gp_fault;
+ if ( !cp->feat.arch_caps )
+ goto gp_fault;
+ *val = mp->arch_caps.raw;
+ break;
case MSR_INTEL_MISC_FEATURES_ENABLES:
*val = msrs->misc_features_enables.raw;