move apic cluster before pci_domain in MB Config.lb
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1897 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
b5d9af4105
commit
6a2798d28b
|
@ -721,7 +721,7 @@ static unsigned int cpu_bus_scan(device_t dev, unsigned int max)
|
|||
{
|
||||
struct bus *cpu_bus;
|
||||
device_t dev_mc;
|
||||
int i;
|
||||
int i, j;
|
||||
int enable_apic_ext_id = 0;
|
||||
int bsp_apic_id = lapicid(); // bsp apicid
|
||||
int apic_id_offset = bsp_apic_id;
|
||||
|
@ -745,16 +745,18 @@ static unsigned int cpu_bus_scan(device_t dev, unsigned int max)
|
|||
dev = dev_find_slot(0, PCI_DEVFN(0x18 + i, 3));
|
||||
if(!dev) {
|
||||
// in case in mb Config.lb we move apic cluster before pci_domain and not set that for second CPU
|
||||
struct device dummy;
|
||||
uint32_t id;
|
||||
dummy.bus = dev_mc->bus;
|
||||
dummy.path.type = DEVICE_PATH_PCI;
|
||||
dummy.path.u.pci.devfn = PCI_DEVFN(0x18 + i, 3);
|
||||
id = pci_read_config32(&dummy, PCI_VENDOR_ID);
|
||||
if (id != 0xffffffff && id != 0x00000000 &&
|
||||
id != 0x0000ffff && id != 0xffff0000) {
|
||||
//create that for it
|
||||
dev = alloc_dev(dev_mc->bus, &dummy.path);
|
||||
for(j=0; j<4; j++) {
|
||||
struct device dummy;
|
||||
uint32_t id;
|
||||
dummy.bus = dev_mc->bus;
|
||||
dummy.path.type = DEVICE_PATH_PCI;
|
||||
dummy.path.u.pci.devfn = PCI_DEVFN(0x18 + i, j);
|
||||
id = pci_read_config32(&dummy, PCI_VENDOR_ID);
|
||||
if (id != 0xffffffff && id != 0x00000000 &&
|
||||
id != 0x0000ffff && id != 0xffff0000) {
|
||||
//create that for it
|
||||
dev = alloc_dev(dev_mc->bus, &dummy.path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue