[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v8] xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option
On 24.07.2025 00:26, Stewart Hildebrand wrote: > On 7/23/25 18:16, Stewart Hildebrand wrote: >> On 7/23/25 10:59, Jan Beulich wrote: >>> On 23.07.2025 16:26, Stewart Hildebrand wrote: >>>> On 7/23/25 06:18, Jan Beulich wrote: >>>>> On 13.06.2025 17:17, Stewart Hildebrand wrote: >>>>>> --- a/xen/arch/arm/Kconfig >>>>>> +++ b/xen/arch/arm/Kconfig >>>>>> @@ -8,6 +8,8 @@ config ARM_64 >>>>>> depends on !ARM_32 >>>>>> select 64BIT >>>>>> select HAS_FAST_MULTIPLY >>>>>> + select HAS_VPCI_GUEST_SUPPORT if PCI_PASSTHROUGH >>>>>> + select HAS_PASSTHROUGH if PCI_PASSTHROUGH >>>>> >>>>> As I just learned, this change (or maybe it was the "select HAS_PCI" >>>>> further down) has exposed the quarantining Kconfig option prompt, which >>>>> (aiui) is entirely meaningless on Arm. IOW I think further adjustments >>>>> are necessary. >>>> >>>> Not entirely meaningless - the choice between "none" and "basic" still >>>> seems relevant. Just "scratch page" quarantining hasn't been implemented >>>> in any of the Arm iommu drivers. >>> >>> Is there support for "basic"? For x86, most of the involved code lives >>> in the vendor-specific drivers, and I can't find anything related in >>> Arm's. Note in particular the hook iommu_quarantine_dev_init() calls, >>> which isn't provided by any of the Arm drivers afaict. >> >> Quoting xen/drivers/passthrough/Kconfig IOMMU_QUARANTINE_* help text: >> >> "... basic form, all in-flight DMA will simply be forced to encounter >> IOMMU faults." >> >> My understanding of "basic" is that after destruction of a domU with a >> PCI device assigned, the PCI device gets assigned to domIO. We have >> special casing for ( d == dom_io ) in some instances, but otherwise it >> has relatively little to do with the individual iommu drivers. I believe >> assigning to domIO should be enough for the Arm iommus to generate >> faults, since the iommu identifies the PCI device's DMA via sideband >> information (AXI stream ID). > > Oh, and also note the commit messages in > 63919fc4d1ca ("xen/arm: smmuv3: Add PCI devices support for SMMUv3") > and > ca8f6ffeb6e3 ("xen/arm: smmuv2: Add PCI devices support for SMMUv2") > "Implement basic quarantining." I'm fine with the proposed adjustment if things work on Arm. I'll demand an Arm maintainer ack then though, I think. Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |