> From: Easwar Hariharan <[email protected]> > > Hyper-V identifies each PCI pass-thru device by a logical device ID in > its hypercall interface. This ID consists of a per-bus prefix, derived > from the VMBus device instance GUID, combined with the PCI function > number of the endpoint device. > > Add a small registry in hv_common.c that maps a PCI domain number to its > logical device ID prefix. The vPCI bus driver (pci-hyperv) registers the > prefix when a bus is probed and unregisters it when the bus is removed. > Consumers such as the para-virtualized IOMMU driver look up the prefix > by PCI domain number and combine it with the function number to form the > complete logical device ID for hypercalls. > > The prefix construction is shared via hv_build_logical_dev_id_prefix() so > that pci-hyperv's interrupt retargeting path and the registry use exactly > the same byte layout. It is derived on demand from the constant hv_device > instance GUID rather than cached in struct hv_pcibus_device, which is > private to the pci-hyperv module; this keeps the interface narrow and > avoids depending on pci-hyperv internals. > > Co-developed-by: Yu Zhang <[email protected]> > Signed-off-by: Yu Zhang <[email protected]> > Signed-off-by: Easwar Hariharan <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=2
