[PATCH 0/3] x86/hvm: add support for extended destination ID

Roger Pau Monne posted 3 patches 2 years, 3 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20220120152319.7448-1-roger.pau@citrix.com
xen/arch/x86/cpuid.c                   | 12 +++++++++++-
xen/arch/x86/hvm/dom0_build.c          |  3 ++-
xen/arch/x86/hvm/irq.c                 |  3 ++-
xen/arch/x86/hvm/vioapic.c             |  3 ++-
xen/arch/x86/hvm/vlapic.c              | 14 ++++++++++++--
xen/arch/x86/hvm/vmsi.c                | 13 ++++++++++---
xen/arch/x86/include/asm/hvm/hvm.h     |  5 +++--
xen/arch/x86/include/asm/hvm/vlapic.h  |  2 ++
xen/arch/x86/include/asm/msi.h         |  1 +
xen/arch/x86/traps.c                   |  3 +++
xen/drivers/passthrough/x86/hvm.c      | 10 +++++++---
xen/include/public/arch-x86/cpuid.h    |  6 ++++++
xen/include/public/arch-x86/hvm/save.h |  4 +++-
xen/include/public/domctl.h            |  1 +
14 files changed, 65 insertions(+), 15 deletions(-)
[PATCH 0/3] x86/hvm: add support for extended destination ID
Posted by Roger Pau Monne 2 years, 3 months ago
Hello,

The follow patch series is a very initial implementation of the extended
destination ID for vIO-APIC and vMSI for HVM/PVH guests. This is already
supported by QEMU/KVM and HyperV in order to target APIC IDs for
device interrupts up to 32768 without the need of interrupt remapping.

Note the feature is only exposed to guests with vPCI at the moment (see
patch 2 for the details). In practice this means it's only exposed to a
PVH dom0, and the maximum vCPU count for HVM/PVH is still not increased,
as that would also require some changes to QEMU and the ACPI tables for
domUs (both HVM and PVH).

Thanks, Roger.

Roger Pau Monne (3):
  xen/vioapic: add support for the extended destination ID field
  x86/vmsi: add support for extended destination ID in address field
  HACK: allow adding an offset to the x2APIC ID

 xen/arch/x86/cpuid.c                   | 12 +++++++++++-
 xen/arch/x86/hvm/dom0_build.c          |  3 ++-
 xen/arch/x86/hvm/irq.c                 |  3 ++-
 xen/arch/x86/hvm/vioapic.c             |  3 ++-
 xen/arch/x86/hvm/vlapic.c              | 14 ++++++++++++--
 xen/arch/x86/hvm/vmsi.c                | 13 ++++++++++---
 xen/arch/x86/include/asm/hvm/hvm.h     |  5 +++--
 xen/arch/x86/include/asm/hvm/vlapic.h  |  2 ++
 xen/arch/x86/include/asm/msi.h         |  1 +
 xen/arch/x86/traps.c                   |  3 +++
 xen/drivers/passthrough/x86/hvm.c      | 10 +++++++---
 xen/include/public/arch-x86/cpuid.h    |  6 ++++++
 xen/include/public/arch-x86/hvm/save.h |  4 +++-
 xen/include/public/domctl.h            |  1 +
 14 files changed, 65 insertions(+), 15 deletions(-)

-- 
2.34.1