On Fri, 23 Feb 2024 12:42:23 +0000 <ank...@nvidia.com> wrote: > From: Ankit Agrawal <ank...@nvidia.com> > > ACPI spec provides a scheme to associate "Generic Initiators" [1] > (e.g. heterogeneous processors and accelerators, GPUs, and I/O devices with > integrated compute or DMA engines GPUs) with Proximity Domains. This is > achieved using Generic Initiator Affinity Structure in SRAT. During bootup, > Linux kernel parse the ACPI SRAT to determine the PXM ids and create a NUMA > node for each unique PXM ID encountered. Qemu currently do not implement > these structures while building SRAT. > > Add GI structures while building VM ACPI SRAT. The association between > device and node are stored using acpi-generic-initiator object. Lookup > presence of all such objects and use them to build these structures. > > The structure needs a PCI device handle [2] that consists of the device BDF. > The vfio-pci device corresponding to the acpi-generic-initiator object is > located to determine the BDF. > > [1] ACPI Spec 6.3, Section 5.2.16.6 > [2] ACPI Spec 6.3, Table 5.80 > > Signed-off-by: Ankit Agrawal <ank...@nvidia.com>
One thing I forgot. Please add a test. tests/qtest/bios-tables-test.c + relevant table dumps. Could also hook this up for x86 with a oneline addition and improve test coverage. If not, I'll do it when I add Generic Ports as annoyingly people still care about x86 for some reason.