collapsing devices.

Stefan Reinauer stepan at openbios.org
Sat Dec 11 10:24:00 CET 2004


Hi,

I started stripping down noncht enumeration.

in the beginning i really collapse bus 0. After this I only pretend to
do so, while walking through the devices with a simple dummy loop:

        for(dev = PCI_DEV(bus, 0, 0); dev <= PCI_DEV(bus, 0x1f, 0x7); dev += PCI_DEV(0, 1, 0)) {
                uint32_t id;
                unsigned pos, flags;

                id = pci_read_config32(dev, PCI_VENDOR_ID);
                if ((id == 0xffffffff) || (id == 0x00000000) ||
                        (id == 0x0000ffff) || (id == 0xffff0000))
                {
                        continue;
                }

                print_debug("Pretending to collapse device ");
                print_debug_hex32(dev);
                print_debug(" id ");
                print_debug_hex32(id);
                print_debug(" on bus ");
                print_debug_hex32(bus);
                print_debug("\r\n");
        }
        print_debug("done with bus\n\r");



LinuxBIOS-1.1.7.0-fallback Sat Dec 11 21:33:25 CET 2004 starting...
setting up resource map....done.
04 nodes initialized.
udev=(0,0x18,0) 0xb4=00040000
Pretending to collapse device 00000000 id 74501022 on bus 00000000
Pretending to collapse device 00000800 id 74501022 on bus 00000000
Pretending to collapse device 0000c000 id 11001022 on bus 00000000
Pretending to collapse device 0000c800 id 11001022 on bus 00000000
Pretending to collapse device 0000d000 id 11001022 on bus 00000000
Pretending to collapse device 0000d800 id 11001022 on bus 00000000
done with bus
bus=00 id =74501022
done. next_unitid=00000003
bus=00 id =74601022
done. next_unitid=00000007
udev=(0,0x19,0) 0xd4=000a0500
Pretending to collapse device 00050000 id 74501022 on bus 00000005
Pretending to collapse device 00050800 id 74501022 on bus 00000005
<hang>
I never get to "done with bus" 

Stefan





More information about the coreboot mailing list