In this version, I add PHYSDEVOP_interrupt_control to allow stubdomain
enabling MSI after mapping it, and also disabling INTx beforehand. Actual
hypercall refuse to enable both of them.
Related article:
https://www.qubes-os.org/news/2017/10/18/msi-support/
Changes in v2:
- new "xen/x86: Allow stubdom access to irq created for msi" patch
- applied review comments from v1
Changes is v3:
- apply suggestions by Roger
- add PHYSDEVOP_msi_msix_set_enable
Changes in v4:
- implement suggestions by Wei, Roger, Jan
- plug new physdevop into XSM
Changes in v5:
- rebase on master
- rename to PHYSDEVOP_msi_control
- move granting access to IRQ into create_irq
Changes in v6:
- simplify granting IRQ access, record dm domid for cleanup
- rename to PHYSDEVOP_interrupt_control
- include INTx control in the hypercall
---
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Wei Liu <wl@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien.grall@arm.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tim Deegan <tim@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Cc: Brian Woods <brian.woods@amd.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Marek Marczykowski-Górecki (6):
libxl: do not attach xen-pciback to HVM domain, if stubdomain is in use
libxl: attach PCI device to qemu only after setting pciback/pcifront
libxl: don't try to manipulate json config for stubdomain
xen/x86: Allow stubdom access to irq created for msi.
xen/x86: add PHYSDEVOP_interrupt_control
tools/libxc: add wrapper for PHYSDEVOP_interrupt_control
tools/libxc/include/xenctrl.h | 6 ++-
tools/libxc/xc_physdev.c | 15 ++++++-
tools/libxl/libxl_pci.c | 63 +++++++++++++++++--------
xen/arch/x86/hpet.c | 3 +-
xen/arch/x86/irq.c | 51 ++++++++++++++------
xen/arch/x86/msi.c | 45 ++++++++++++++++++-
xen/arch/x86/physdev.c | 53 +++++++++++++++++++++-
xen/arch/x86/x86_64/physdev.c | 4 ++-
xen/drivers/char/ns16550.c | 2 +-
xen/drivers/passthrough/amd/iommu_init.c | 2 +-
xen/drivers/passthrough/vtd/iommu.c | 3 +-
xen/include/asm-x86/irq.h | 7 ++-
xen/include/asm-x86/msi.h | 2 +-
xen/include/public/physdev.h | 23 +++++++++-
xen/include/xlat.lst | 1 +-
xen/include/xsm/dummy.h | 7 +++-
xen/include/xsm/xsm.h | 6 ++-
xen/xsm/dummy.c | 1 +-
xen/xsm/flask/hooks.c | 24 ++++++++++-
xen/xsm/flask/policy/access_vectors | 1 +-
20 files changed, 281 insertions(+), 38 deletions(-)
base-commit: 6c9639a72f0ca3a9430ef75f375877182281fdef
--
git-series 0.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel