1 #include <console/console.h>
2 #include <device/device.h>
3 #include <device/pci.h>
4 #include <device/pci_ids.h>
5 #include <device/pci_ops.h>
6 #include <pc80/keyboard.h>
10 /* not sure how these are routed in qemu */
11 static const unsigned char enetIrqs[4] = { 11, 0, 0, 0 };
13 static void qemu_init(device_t dev)
15 /* The VGA OPROM already lives at 0xc0000,
16 * force coreboot to use it.
18 dev->on_mainboard = 1;
20 /* Now do the usual initialization */
23 /* This sneaked in here, because Qemu does not
24 * emulate a SuperIO chip
28 /* The PIRQ table is not working well for interrupt routing purposes.
29 * so we'll just set the IRQ directly.
31 printk(BIOS_INFO, "setting ethernet\n");
32 pci_assign_irqs(0, 3, enetIrqs);
35 static struct device_operations vga_operations = {
36 .read_resources = pci_dev_read_resources,
37 .set_resources = pci_dev_set_resources,
38 .enable_resources = pci_dev_enable_resources,
43 static const struct pci_driver vga_driver __pci_driver = {
44 .ops = &vga_operations,
49 struct chip_operations mainboard_ops = {
50 CHIP_NAME("QEMU Mainboard")