it seems that the pci devices are scanned two rounds in our mainboard. first round: bus 0 -> bridge 00:14.4 -> bus 1 (this is the vga device under the bridge 00:14.4) second round: bus 0 -> bridge 00:02.0 -> bridge 00:04.0 -> bridge 00:05.0. this bridges are all pcie bridges.
I want to know whether the two rounds scanning style is right. if it is designed to scan two rounds, why? any reply is helpful to me. thank you!
the log is shown as fallow, the message unrelated to pci is cut.
scan_static_bus for Root Device APIC_CLUSTER: 0 enabled PCI_DOMAIN: 0000 enabled APIC_CLUSTER: 0 scanning... PCI: 00:18.5 family15h, core_max=0x10, core_nums=0xf, siblings=0x7 lpaicid_start=0x10 node 0x0 core 0x0 apicid=0x10 CPU: APIC: 10 enabled lpaicid_start=0x10 node 0x0 core 0x1 apicid=0x11 CPU: APIC: 11 enabled lpaicid_start=0x10 node 0x0 core 0x2 apicid=0x12 CPU: APIC: 12 enabled lpaicid_start=0x10 node 0x0 core 0x3 apicid=0x13 CPU: APIC: 13 enabled lpaicid_start=0x10 node 0x0 core 0x4 apicid=0x14 CPU: APIC: 14 enabled lpaicid_start=0x10 node 0x0 core 0x5 apicid=0x15 CPU: APIC: 15 enabled lpaicid_start=0x10 node 0x0 core 0x6 apicid=0x16 CPU: APIC: 16 enabled lpaicid_start=0x10 node 0x0 core 0x7 apicid=0x17 CPU: APIC: 17 enabled PCI: 00:19.0 [1022/1600] bus ops PCI: 00:19.0 [1022/1600] enabled PCI: 00:19.1 [1022/1601] enabled PCI: 00:19.2 [1022/1602] enabled PCI: 00:19.3 [1022/1603] enabled PCI: 00:19.4 [1022/1604] enabled PCI: 00:19.5 [1022/1605] enabled PCI: 00:19.5 family15h, core_max=0x10, core_nums=0xf, siblings=0x7 lpaicid_start=0x10 node 0x1 core 0x0 apicid=0x18 CPU: APIC: 18 enabled lpaicid_start=0x10 node 0x1 core 0x1 apicid=0x19 CPU: APIC: 19 enabled lpaicid_start=0x10 node 0x1 core 0x2 apicid=0x1a CPU: APIC: 1a enabled lpaicid_start=0x10 node 0x1 core 0x3 apicid=0x1b CPU: APIC: 1b enabled lpaicid_start=0x10 node 0x1 core 0x4 apicid=0x1c CPU: APIC: 1c enabled lpaicid_start=0x10 node 0x1 core 0x5 apicid=0x1d CPU: APIC: 1d enabled lpaicid_start=0x10 node 0x1 core 0x6 apicid=0x1e CPU: APIC: 1e enabled lpaicid_start=0x10 node 0x1 core 0x7 apicid=0x1f CPU: APIC: 1f enabled PCI_DOMAIN: 0000 scanning... PCI: pci_scan_bus for bus 00 PCI: 00:00.0 [1002/5a10] ops PCI: 00:00.0 [1002/5a10] enabled PCI: 00:11.0 [1002/4390] ops PCI: 00:11.0 [1002/4390] enabled PCI: 00:12.0 [1002/4397] ops PCI: 00:12.0 [1002/4397] enabled PCI: 00:12.1 [1002/4398] ops PCI: 00:12.1 [1002/4398] enabled PCI: 00:12.2 [1002/4396] ops PCI: 00:12.2 [1002/4396] enabled PCI: 00:13.0 [1002/4397] ops PCI: 00:13.0 [1002/4397] enabled PCI: 00:13.1 [1002/4398] ops PCI: 00:13.1 [1002/4398] enabled PCI: 00:13.2 [1002/4396] ops PCI: 00:13.2 [1002/4396] enabled PCI: 00:14.0 [1002/4385] enabled PCI: 00:14.1 [1002/439c] enabled PCI: 00:14.2 [1002/4383] ops PCI: 00:14.2 [1002/4383] enabled PCI: 00:14.3 [1002/439d] bus ops PCI: 00:14.3 [1002/439d] enabled PCI: 00:14.4 [1002/4384] bus ops PCI: 00:14.4 [1002/4384] enabled PCI: 00:14.5 [1002/4399] ops PCI: 00:14.5 [1002/4399] enabled PCI: 00:18.0 [1022/1600] bus ops PCI: 00:18.0 [1022/1600] enabled PCI: 00:18.1 [1022/1601] enabled PCI: 00:18.2 [1022/1602] enabled PCI: 00:18.3 [1022/1603] enabled PCI: 00:18.4 [1022/1604] enabled PCI: 00:18.5 [1022/1605] enabled PCI: 00:19.0 [1022/1600] enabled PCI: 00:19.1 [1022/1601] enabled PCI: 00:19.2 [1022/1602] enabled PCI: 00:19.3 [1022/1603] enabled PCI: 00:19.4 [1022/1604] enabled PCI: 00:19.5 [1022/1605] enabled scan_static_bus for PCI: 00:14.3 scan_static_bus for PCI: 00:14.3 done do_pci_scan_bridge for PCI: 00:14.4 PCI: pci_scan_bus for bus 01 PCI: Using configuration type 1 PCI: 01:00.0 [1a03/2000] enabled PCI: pci_scan_bus returning with max=001 do_pci_scan_bridge returns max 1 PCI: pci_scan_bus for bus 00 rd890_enable Bus-0 Dev-0 Fun-0, enable=1
[NBPCIE] PortId 02 LinkState = 0x0 [NBPCIE] PortId 04 LinkState = 0x0 [NBPCIE] PortId 08 LinkState = 0x10 [NBPCIE] PortId 09 LinkState = 0x10 [NBPCIE] PortId 10 LinkState = 0x4 [NBPCIE] PortId 11 LinkState = 0x0 [NBPCIE] PortId 13 LinkState = 0x10 [NBPCIE] PortId 02 LinkState = 0x0 [NBPCIE] PortId 04 LinkState = 0x0 [NBPCIE] PortId 08 LinkState = 0x10 [NBPCIE] PortId 09 LinkState = 0x10 [NBPCIE] PortId 10 LinkState = 0x4 [NBPCIE] PortId 11 LinkState = 0x0 [NBPCIE] PortId 13 LinkState = 0x10 PCI: 00:00.0 [1002/5a10] ops PCI: 00:00.0 [1002/5a10] enabled rd890_enable Bus-0 Dev-0 Fun-1, enable=0 rd890_enable Bus-0 Dev-2 Fun-0, enable=1
PCI: 00:02.0 subordinate bus PCI Express PCI: 00:02.0 [1002/5a16] enabled rd890_enable Bus-0 Dev-3 Fun-0, enable=0 rd890_enable Bus-0 Dev-4 Fun-0, enable=1
PCI: 00:04.0 subordinate bus PCI Express PCI: 00:04.0 [1002/5a18] enabled rd890_enable Bus-0 Dev-5 Fun-0, enable=1
PCI: 00:05.0 subordinate bus PCI Express PCI: 00:05.0 [1002/5a19] enabled rd890_enable Bus-0 Dev-6 Fun-0, enable=1
PCI: 00:06.0 subordinate bus PCI Express PCI: 00:06.0 [1002/5a1a] enabled rd890_enable Bus-0 Dev-7 Fun-0, enable=1
PCI: 00:07.0 subordinate bus PCI Express PCI: 00:07.0 [1002/5a1b] enabled rd890_enable Bus-0 Dev-8 Fun-0, enable=0 rd890_enable Bus-0 Dev-9 Fun-0, enable=1
PCI: 00:09.0 subordinate bus PCI Express PCI: 00:09.0 [1002/5a1c] enabled rd890_enable Bus-0 Dev-A Fun-0, enable=1
PCI: 00:0a.0 subordinate bus PCI Express PCI: 00:0a.0 [1002/5a1d] enabled rd890_enable Bus-0 Dev-B Fun-0, enable=1
PCI: 00:0b.0 subordinate bus PCI Express PCI: 00:0b.0 [1002/5a1f] enabled rd890_enable Bus-0 Dev-C Fun-0, enable=0 rd890_enable Bus-0 Dev-D Fun-0, enable=1
PCI: 00:0d.0 subordinate bus PCI Express PCI: 00:0d.0 [1002/5a1e] enabled sb700_enable() SB700 - Cfg.c - sb700_cimx_config - Start. SB700 - Cfg.c - sb700_cimx_config - End. PCI: 00:11.0 [1002/4390] ops PCI: 00:11.0 [1002/4390] enabled sb700_enable() PCI: 00:12.0 [1002/4397] ops PCI: 00:12.0 [1002/4397] enabled sb700_enable() PCI: 00:12.1 [1002/4398] ops PCI: 00:12.1 [1002/4398] enabled sb700_enable() PCI: 00:12.2 [1002/4396] ops PCI: 00:12.2 [1002/4396] enabled sb700_enable() PCI: 00:13.0 [1002/4397] ops PCI: 00:13.0 [1002/4397] enabled sb700_enable() PCI: 00:13.1 [1002/4398] ops PCI: 00:13.1 [1002/4398] enabled sb700_enable() PCI: 00:13.2 [1002/4396] ops PCI: 00:13.2 [1002/4396] enabled sb700_enable() sm_init(). I PCI: 00:14.0 [1002/4385] enabled sb700_enable() PCI: 00:14.1 [1002/439c] disabled sb700_enable() hda disabled PCI: 00:14.2 [1002/4383] ops PCI: 00:14.2 [1002/4383] disabled sb700_enable() PCI: 00:14.3 [1002/439d] bus ops PCI: 00:14.3 [1002/439d] enabled sb700_enable() PCI: 00:14.4 [1002/4384] bus ops PCI: 00:14.4 [1002/4384] enabled sb700_enable() sb700 sb_Before_Pci_Init Start SB700 - Late.c - sb700_callout_entry - Start. SB700 - Late.c - sb700_callout_entry - End. SB700 - Late.c - sb700_callout_entry - Start. SB700 - Late.c - sb700_callout_entry - End. sb700 sb_Before_Pci_Init End PCI: 00:14.5 [1002/4399] ops PCI: 00:14.5 [1002/4399] enabled do_pci_scan_bridge for PCI: 00:02.0 PCI: pci_scan_bus for bus 01 PCI: 01:00.0 [1a03/2000] enabled PCI: pci_scan_bus returning with max=001 Capability: type 0x01 @ 0x40 do_pci_scan_bridge returns max 1 do_pci_scan_bridge for PCI: 00:04.0 PCI: pci_scan_bus for bus 02 PCI: pci_scan_bus returning with max=002 do_pci_scan_bridge returns max 2 do_pci_scan_bridge for PCI: 00:05.0 PCI: pci_scan_bus for bus 03 PCI: pci_scan_bus returning with max=003 do_pci_scan_bridge returns max 3 do_pci_scan_bridge for PCI: 00:06.0 PCI: pci_scan_bus for bus 04 PCI: pci_scan_bus returning with max=004 do_pci_scan_bridge returns max 4 do_pci_scan_bridge for PCI: 00:07.0 PCI: pci_scan_bus for bus 05 PCI: pci_scan_bus returning with max=005 do_pci_scan_bridge returns max 5 do_pci_scan_bridge for PCI: 00:09.0 PCI: pci_scan_bus for bus 06 PCI: 06:00.0 [8086/10d3] enabled PCI: pci_scan_bus returning with max=006 Capability: type 0x01 @ 0xc8 Capability: type 0x05 @ 0xd0 Capability: type 0x10 @ 0xe0 do_pci_scan_bridge returns max 6 do_pci_scan_bridge for PCI: 00:0a.0 PCI: pci_scan_bus for bus 07 PCI: pci_scan_bus returning with max=007 do_pci_scan_bridge returns max 7 do_pci_scan_bridge for PCI: 00:0b.0 PCI: pci_scan_bus for bus 08 PCI: pci_scan_bus returning with max=008 do_pci_scan_bridge returns max 8 do_pci_scan_bridge for PCI: 00:0d.0 PCI: pci_scan_bus for bus 09 PCI: 09:00.0 [8086/10c9] enabled PCI: 09:00.1 [8086/10c9] enabled PCI: pci_scan_bus returning with max=009
do_pci_scan_bridge returns max 9 scan_static_bus for PCI: 00:14.3 PNP: 002e.0 disabled PNP: 002e.1 disabled PNP: 002e.2 enabled PNP: 002e.3 enabled PNP: 002e.5 enabled PNP: 002e.6 disabled PNP: 002e.307 disabled PNP: 002e.8 disabled PNP: 002e.9 disabled PNP: 002e.109 disabled PNP: 002e.209 disabled PNP: 002e.309 disabled PNP: 002e.a disabled PNP: 002e.b disabled PNP: 002e.c disabled PNP: 005e.0 enabled scan_static_bus for PCI: 00:14.3 done do_pci_scan_bridge for PCI: 00:14.4 PCI: pci_scan_bus for bus 0a PCI: 0a:00.0 [1a03/2000] enabled PCI: pci_scan_bus returning with max=00a do_pci_scan_bridge returns max 10 PCI: pci_scan_bus returning with max=00a PCI: pci_scan_bus returning with max=00a scan_static_bus for Root Device done done