diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2019-09-11 19:42:43 +0100 |
---|---|---|
committer | Andrew Cooper <andrew.cooper3@citrix.com> | 2019-09-26 13:40:18 +0100 |
commit | 8f7824289910db2fc3260c2c02f3dda27ae11ec9 (patch) | |
tree | 23d1ef47e844364bc7751569c5bf9816f8583865 /xen/arch/x86/msr.c | |
parent | 6df43b32aba861aa53d6ab6e2b47c4bcca850dbe (diff) |
x86/cpuid: Enable CPUID Faulting for PV control domains by default
The domain builder no longer uses local CPUID instructions for policy
decisions. This resolves a key issue for PVH dom0's. However, as PV dom0's
have never had faulting enforced, leave a command line option to restore the
old behaviour.
Advertise virtualised faulting support to control domains unless the opt-out
has been used.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to 'xen/arch/x86/msr.c')
-rw-r--r-- | xen/arch/x86/msr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c index a6c8cc7627..4698d2bba1 100644 --- a/xen/arch/x86/msr.c +++ b/xen/arch/x86/msr.c @@ -26,6 +26,7 @@ #include <asm/debugreg.h> #include <asm/msr.h> +#include <asm/setup.h> DEFINE_PER_CPU(uint32_t, tsc_aux); @@ -92,7 +93,7 @@ int init_domain_msr_policy(struct domain *d) return -ENOMEM; /* See comment in ctxt_switch_levelling() */ - if ( is_control_domain(d) && is_pv_domain(d) ) + if ( !opt_dom0_cpuid_faulting && is_control_domain(d) && is_pv_domain(d) ) mp->platform_info.cpuid_faulting = false; d->arch.msr = mp; |