Hi Stewart,
On 07/07/2023 02:47, Stewart Hildebrand wrote:
From: Rahul Singh <rahul.si...@arm.com>
Setting CONFIG_PCI_PASSTHROUGH=y will enable PCI passthrough on ARM, even though
the feature is not yet complete in the current upstream codebase. The purpose of
this is to make it easier to enable the necessary configs (HAS_PCI, HAS_VPCI)
for
testing and development of PCI passthrough on ARM.
Since PCI passthrough on ARM is still work in progress at this time, make it
depend on EXPERT.
While preparing the patch for committing, I noticed that HAS_PASSTHROUGH
will now allow the user to select one of the IOMMU quarantine options.
There are three of them right now:
1. none
2. basic (i.e. faulting)
3. scratch page
The latter is unlikely to work on Arm because we don't setup the scratch
page. AFAIU, for that, we would need to implement the callback
quarantine_init().
I would expect 1 and 2 work. That said, I think 1. would behave like 2.
because on Arm the device should not be automatically re-assigned to
dom0. I know this is correct for platform device, but will it be valid
for PCI as well?
Overall, before enabling HAS_PASSTHROUGH, I think there would be a bit
of tweaking necessary to at least prevent a user to select the option 3
(either via Kconfig or the command line). And possibly update the
Kconfig for IOMMU_QUARANTINE to reflect the behavior on Arm.
Cheers,
--
Julien Grall