Hi,
Here are the notes we took during the design session around PCI devices
passthrough on Arm.
Feel free to comment or add anything :-)
Bertrand
PCI devices passthrough on Arm Design Session
======================================
Date: 7/7/2020
- X86 VPCI support is for the PVH guest .
- X86 PCI devices discovery code should be checked and maybe used on Arm as it
is not very complex
- Remark from Julien: This might not work in number of cases
- Sanitation of each the PCI access for each guest in XEN is required
- MSI trap is not required for gicv3 but it required for gicv2m
- We do not plan to support non ITS GIC
- Check possibility to add some specifications in EBBR for PCI enumeration
(address assignment part)
- PCI enumeration support should not depend on DOM0 for safety reasons
- PCI enumeration could be done in several places
- DTB, with some entries giving values to be applied by Xen
- In XEN (complex, not wanted out of devices discovery)
- In Firmware and then xen device discovery
- As per Julien it is difficult to tell the XEN on which segment PCI device is
present
- Current test implementation is done on Juno where there is only one
segment
- This should be investigated with an other hardware in the next months
- Julien mentioned that clocks issues will be complex to solve and most
hardware are not following the ECAM standard
- Julien mentioned that Linux and Xen could do the enumeration in a different
way, making it complex to have linux doing an enumeration after Xen
- We should push the code we have ASAP on the mailing list for a review and
discussion on the design
- Arm will try to do that before end of July
- It would be good to push some PCI support in Xen even though it would not be
compatible with all hardware