lkml.org 
[lkml]   [2019]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectParsing PXM from ACPI (DSDT)
Date
Hello,
Is not clear or evident to me if the kernel parses _PXM values below (or under) the root-complex.

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.

\
 
 \ /
  Last update: 2019-08-14 23:30    [W:0.045 / U:0.636 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site