xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/9] vpci: PCI config space emulation
@ 2017-06-30 15:01 Roger Pau Monne
  2017-06-30 15:01 ` [PATCH v4 2/9] x86/mmcfg: add handlers for the PVH Dom0 MMCFG areas Roger Pau Monne
                   ` (8 more replies)
  0 siblings, 9 replies; 44+ messages in thread
From: Roger Pau Monne @ 2017-06-30 15:01 UTC (permalink / raw)
  To: xen-devel; +Cc: boris.ostrovsky, julien.grall

Hello,

The following series contain an implementation of handlers for the PCI
configuration space inside of Xen. This allows Xen to detect accesses
to the PCI configuration space and react accordingly.

Why is this needed? IMHO, there are two main points of doing all this
emulation inside of Xen, the first one is to prevent adding a bunch of
duplicated Xen PV specific code to each OS we want to support in PVH
mode. This just promotes Xen code duplication amongst OSes, which
leads to a higher maintainership burden.

The second reason would be that this code (or it's functionality to be
more precise) already exists in QEMU (and pciback to a degree), and
it's code that we already support and maintain. By moving it into the
hypervisor itself every guest type can make use of it, and should be
shared between them all. I know that the code in this series is not
yet suitable for DomU HVM guests in it's current state, but it should
be in due time.

As usual, each patch contains a changeset summary between versions,
I'm not going to copy the list of changes here.

Patch 1 implements the generic handlers for accesses to the PCI
configuration space together with a minimal user-space test harness
that I've used during development. Currently a per-device linked list
is used in order to store the list of handlers, and they are sorted
based on their offset inside of the configuration space. Patch 1 also
adds the x86 port IO traps and wires them into the newly introduced
vPCI dispatchers. Patch 2 and 3 adds handlers for the MMCFG areas (as
found on the MMCFG ACPI table). Patches 4 and 5 are mostly code
moment/refactoring in order to implement support for BAR mapping in
patch 6. Finally patches 7 and 9 add support for trapping accesses
to the MSI and MSI-X capabilities respectively, so that interrupts are
properly setup on behalf of Dom0.

The branch containing the patches can be found at:

git://xenbits.xen.org/people/royger/xen.git vpci_v4

Note that this is only safe to use for the hardware domain (that's
trusted), any non-trusted domain will need a lot more of traps before
it can freely access the PCI configuration space.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2017-08-11 10:20 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-30 15:01 [PATCH v4 0/9] vpci: PCI config space emulation Roger Pau Monne
2017-06-30 15:01 ` [PATCH v4 2/9] x86/mmcfg: add handlers for the PVH Dom0 MMCFG areas Roger Pau Monne
2017-07-10 13:34   ` Paul Durrant
2017-07-13 20:15   ` Jan Beulich
2017-07-14 16:33     ` Roger Pau Monné
2017-07-28 12:22       ` Jan Beulich
2017-06-30 15:01 ` [PATCH v4 3/9] x86/physdev: enable PHYSDEVOP_pci_mmcfg_reserved for PVH Dom0 Roger Pau Monne
2017-07-14 10:32   ` Jan Beulich
2017-07-20 10:23     ` Roger Pau Monne
2017-07-28 12:31       ` Jan Beulich
2017-06-30 15:01 ` [PATCH v4 4/9] xen/mm: move modify_identity_mmio to global file and drop __init Roger Pau Monne
2017-07-14 10:32   ` Jan Beulich
2017-06-30 15:01 ` [PATCH v4 5/9] xen/pci: split code to size BARs from pci_add_device Roger Pau Monne
2017-07-14 10:33   ` Jan Beulich
2017-07-20 14:00     ` Roger Pau Monne
2017-07-20 14:05       ` Roger Pau Monne
2017-07-29 16:32       ` Jan Beulich
2017-06-30 15:01 ` [PATCH v4 6/9] xen/vpci: add handlers to map the BARs Roger Pau Monne
2017-07-14 15:11   ` Jan Beulich
2017-07-24 14:58     ` Roger Pau Monne
2017-07-29 16:44       ` Jan Beulich
2017-08-08 12:35         ` Roger Pau Monné
2017-08-09  8:17           ` Jan Beulich
2017-08-09  8:22             ` Roger Pau Monné
2017-06-30 15:01 ` [PATCH v4 7/9] vpci/msi: add MSI handlers Roger Pau Monne
2017-07-18  8:56   ` Paul Durrant
2017-08-02 13:34   ` Jan Beulich
2017-08-08 15:44     ` Roger Pau Monné
2017-08-09  8:21       ` Jan Beulich
2017-08-09  8:39         ` Roger Pau Monné
2017-06-30 15:01 ` [PATCH v4 8/9] vpci: add a priority parameter to the vPCI register initializer Roger Pau Monne
2017-08-02 14:13   ` Jan Beulich
2017-06-30 15:01 ` [PATCH v4 9/9] vpci/msix: add MSI-X handlers Roger Pau Monne
2017-08-02 15:07   ` Jan Beulich
2017-08-10 17:04     ` Roger Pau Monné
2017-08-11 10:01       ` Jan Beulich
2017-08-11 10:11         ` Roger Pau Monné
2017-08-11 10:20           ` Jan Beulich
     [not found] ` <20170630150117.88489-2-roger.pau@citrix.com>
2017-07-10 13:27   ` [PATCH v4 1/9] xen/vpci: introduce basic handlers to trap accesses to the PCI config space Paul Durrant
2017-07-13 14:36   ` Jan Beulich
2017-07-14 15:33     ` Roger Pau Monné
2017-07-14 16:01       ` Jan Beulich
2017-07-14 16:41         ` Roger Pau Monné
2017-07-28 12:25           ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).