> -----Original Message----- > From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi- > owner@xxxxxxxxxxxxxxx] On Behalf Of Duran, Leo > Sent: Wednesday, August 14, 2019 2:30 PM > To: linux-acpi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>; Len Brown <lenb@xxxxxxxxxx> > Subject: Parsing PXM from ACPI (DSDT) > Hi Leo, > Hello, > Is not clear or evident to me if the kernel parses _PXM values below (or under) > the root-complex. Build with CONFIG_ACPI_DEBUG=y and boot with acpi.debug_layer=0xffffffff acpi.debug_level=0x80000 This will print all of the AcpiEvaluateObject queries to the dmesg. > > For example, in my experience: > This ASL sample for PXM at the root-complex level produces the expected > NUMA assignment from “lstopo”: > Scope (\_SB) { > // ... > Device (PCI0) { // Root PCI Bus (Host-Bridge) > Name (_HID, EISAID("PNP0A08")) > Name (_CID, EISAID("PNP0A03")) > Name (_BBN, 0) > Method (_CRS,0) { > // Return current resources for host bridge 0 > } > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > Method (_PXM, 0, NotSerialized) { > Return (0) > } > } > // ... > } > > However, > This ASL sample for PXM at the P2P root-bridge level does not produce the > expected NUMA assignment from “lstopo”: > (Of course, the assumption is that multiple NUMA nodes actually exist on the > system) > > Scope (\_SB) { > // ... > Device (PCI0) { // Root PCI Bus (Host-Bridge) > Name (_HID, EISAID ("PNP0A08")) > Name (_CID, EISAID ("PNP0A03")) > Name (_BBN, 0) > Method (_CRS,0) { > // Return current resources for host bridge 0 > } > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > > Device (P2P0) { // First PCI-to-PCI bridge (Port0) > Name (_ADR, 0x00070001) // Device#7h, Func#1 on bus PCI0 > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > Method (_PXM, 0, NotSerialized) { > Return (0) > } > } > > Device (P2P1) { // Second PCI-to-PCI bridge (Port1) > Name (_ADR ,0x00080001) // Device#8h, Func#1 on bus PCI0 > Name (_PRT, Package() { > // Package with PCI IRQ routing table information > }) > Method (_PXM, 0, NotSerialized) { > Return (1) > } > } > } > // ... > } > > Thanks, > Leo.