[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 0/4] Permit fault-less access to non-emulated MSRs
Disallowing accesses to MSRs that are not explicitly handled (done by commit 84e848fd7a16 ("x86/hvm: disallow access to unknown MSRs")) caused regression for Solaris guests who access MSR_RAPL_POWER_UNIT assuming it's always there. We can add special handling for this and other RAPL registers (and that's what should happen for pre-4.14 releases) but a more general solution is to provide an option to allow accesses to unhandled registers to proceed. The new option is "ignore_msrs" and it can take three values never: Issue a warning to the log and #GP to the guest. This is default. silent: MSR reads return 0, MSR writes are ignored. No warnings to the log. verbose: Similar to silent but a warning is written. Boris Ostrovsky (4): xl: Add support for ignore_msrs option x86: Introduce MSR_UNHANDLED x86: Allow non-faulting accesses to non-emulated MSRs if policy permits this tools/libs: Apply MSR policy to a guest docs/man/xl.cfg.5.pod.in | 20 ++++++- tools/include/xenctrl.h | 2 + tools/libs/guest/Makefile | 1 + tools/libs/guest/xg_msrs_x86.c | 110 ++++++++++++++++++++++++++++++++++++++ tools/libs/light/libxl_dom.c | 5 +- tools/libs/light/libxl_internal.h | 2 + tools/libs/light/libxl_types.idl | 7 +++ tools/libs/light/libxl_x86.c | 7 +++ tools/xl/xl_parse.c | 7 +++ xen/arch/x86/hvm/svm/svm.c | 10 ++-- xen/arch/x86/hvm/vmx/vmx.c | 10 ++-- xen/arch/x86/msr.c | 20 +++++++ xen/arch/x86/pv/emul-priv-op.c | 8 +-- xen/include/asm-x86/msr.h | 3 +- xen/include/xen/lib/x86/msr.h | 17 +++++- xen/lib/x86/msr.c | 16 +++--- 16 files changed, 217 insertions(+), 28 deletions(-) create mode 100644 tools/libs/guest/xg_msrs_x86.c -- 1.8.3.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |