[coreboot] Quick CK804 PCI device numbering question
scott at notabs.org
Tue Jan 20 23:58:10 CET 2015
Timothy Pearson [mailto:tpearson at raptorengineeringinc.com] wrote:
]I have been working on porting Coreboot to a new CK804-based K10
]mainboard; it warm boots but will not cold boot due to IRQ/MSI
]While tracing the IRQ problem I noticed that the CK804 PCI function
]numbers change from the proprietary BIOS to Coreboot:
]-[0000:00]-+-00.0 NVIDIA Corporation CK804 Memory Controller ][10de:005e]
] +-01.0 NVIDIA Corporation CK804 ISA Bridge [10de:0051]
] +-01.1 NVIDIA Corporation CK804 SMBus [10de:0052]
]-[0000:00]-+-01.0 NVIDIA Corporation CK804 Memory Controller ][10de:005e]
] +-02.0 NVIDIA Corporation CK804 ISA Bridge [10de:0051]
] +-02.1 NVIDIA Corporation CK804 SMBus [10de:0052]
]This, in turn, causes Linux to not detect the CK804 root bridge.
]Has anyone else seen this with the CK804 chipset? Is there a magic
]register somewhere that configures the CK804 to use the "correct" ]PCI
]The only pertinent quirk of this mainboard is that Asus put the ]CK804 on
]HT link 1, not 0 or 2 as is more common.
]+1 (415) 727-8645
If I remember correctly, PCI device IDs are assigned during non-coherent
HyperTransport initialization on these systems. Search a BKDG for "unit id"
for details. The solution may involve changing HT_CHAIN_UNITID_BASE and
related items. Take a look at 'swaplist' in the source code.
More information about the coreboot