[LinuxBIOS] Q's regarding pci_routing_fixup() in src/southbridge/via/vt8235/vt8235_lpc.c

Eric Poulsen eric at zyxod.com
Tue Apr 25 20:33:20 CEST 2006

If the southbridge init code assigns irqs to nonexistent devices.

1) Is this slow?
2) Does it matter if it assigns an irq to a nonexistent device?

static void pci_routing_fixup(struct device *dev)
  printk_info("%s: dev is %p\n", __FUNCTION__, dev);

  /* set up PCI IRQ routing */
  pci_write_config8(dev, 0x55, pciIrqs[0] << 4);
  pci_write_config8(dev, 0x56, pciIrqs[1] | (pciIrqs[2] << 4) );
  pci_write_config8(dev, 0x57, pciIrqs[3] << 4);

  // firewire built into southbridge
  printk_info("setting firewire\n");
  pci_assign_irqs(0, 0x0d, pin_to_irq(firewirePins));

 [... usb, sound, ethernet, vga, pci slots ...]

  // Cardbus slot
  printk_info("setting cardbus slot\n");
  pci_assign_irqs(0, 0x0a, pin_to_irq(cbPins));

  printk_spew("%s: DONE\n", __FUNCTION__);

More information about the coreboot mailing list