On 11.09.2024 08:58, Jiqian Chen wrote: > The current hypercall interfaces to manage and assign interrupts to > domains is mostly based in using pIRQs as handlers. Such pIRQ values > are abstract domain-specific references to interrupts. > > Classic HVM domains can have access to {,un}map_pirq hypercalls if the > domain is allowed to route physical interrupts over event channels. > That's however a different interface, limited to only mapping > interrupts to itself. PVH domains on the other hand never had access > to the interface, as PVH domains are not allowed to route interrupts > over event channels. > > In order to allow setting up PCI passthrough from a PVH domain it > needs access to the {,un}map_pirq hypercalls so interrupts can be > assigned a pIRQ handler that can then be used by further hypercalls to > bind the interrupt to a domain. > > Note that the {,un}map_pirq hypercalls end up calling helpers that are > already used against a PVH domain in order to setup interrupts for the > hardware domain when running in PVH mode. physdev_map_pirq() will > call allocate_and_map_{gsi,msi}_pirq() which is already used by the > vIO-APIC or the vPCI code respectively. So the exposed code paths are > not new when targeting a PVH domain, but rather previous callers are > not hypercall but emulation based. > > Signed-off-by: Jiqian Chen <jiqian.c...@amd.com> > Signed-off-by: Huang Rui <ray.hu...@amd.com> > Signed-off-by: Jiqian Chen <jiqian.c...@amd.com>
Acked-by: Jan Beulich <jbeul...@suse.com>