mbox series

[v5,0/4] nvmx: implement support for MSR bitmaps

Message ID 20200217114545.71112-1-roger.pau@citrix.com (mailing list archive)
Headers show
Series nvmx: implement support for MSR bitmaps | expand

Message

Roger Pau Monne Feb. 17, 2020, 11:45 a.m. UTC
Hello,

Current nested VMX code advertises support for the MSR bitmap feature,
yet the implementation isn't done. Previous to this series Xen just maps
the nested guest MSR bitmap (as set by L1) and that's it, the L2 guest
ends up using the L1 MSR bitmap.

This series adds handling of the L2 MSR bitmap and merging with the L1
MSR bitmap and loading it into the nested guest VMCS.

Patch #4 makes sure the x2APIC MSR range is always trapped, or else a
guest with nested virtualization enabled could manage to access some of
the x2APIC MSR registers from the host.

Thanks, Roger.Roger Pau Monne (4):
  nvmx: implement support for MSR bitmaps
  arm: rename BIT_WORD to BITOP_WORD
  bitmap: import bitmap_{set/clear} from Linux 5.5
  nvmx: always trap accesses to x2APIC MSRs

 xen/arch/arm/arm32/lib/bitops.c        |  4 +-
 xen/arch/arm/arm64/lib/bitops.c        |  4 +-
 xen/arch/arm/arm64/lib/find_next_bit.c | 10 ++--
 xen/arch/x86/hvm/vmx/vvmx.c            | 80 ++++++++++++++++++++++++--
 xen/common/bitmap.c                    | 39 +++++++++++++
 xen/include/asm-arm/bitops.h           | 10 ++--
 xen/include/asm-x86/hvm/vmx/vvmx.h     |  3 +-
 xen/include/xen/bitmap.h               | 40 +++++++++++++
 xen/include/xen/bitops.h               |  2 +
 9 files changed, 172 insertions(+), 20 deletions(-)