Orion
Barry Keyboard/Mouse drivers + POSIX names for structs 1628fcf (3 years, 3 months ago)
diff --git a/drivers/drivers.c b/drivers/drivers.c
index 5ae8c4b..1a2fa8d 100644
--- a/drivers/drivers.c
+++ b/drivers/drivers.c
@@ -29,6 +29,9 @@ Device devices[] = {
{0x10ec, 0x8139, "Realtek RTL8139 10/100 NIC", rtl8139_init},
{0x8086, 0x100e, "Intel Pro 1000/MT NIC", NULL},
+ /* Virtual devices */
+ {0x1b36, 0x000d, "QEMU XHCI Host Adapter", xhci_init},
+
/* VGA devices */
{0x1234, 0x1111, "QEMU/Bochs VBE Framebuffer", bga_init},
};
@@ -76,6 +79,7 @@ init_drivers(void)
{
uint16_t bus, slot, func;
uint16_t vendor, device;
+ uint8_t class, subclass;
uint32_t dev;
kprintf("Enumerating PCI devices");
for (bus = 0; bus < 256; bus++)
@@ -95,8 +99,11 @@ init_drivers(void)
}
if (devices[dev].vendor != vendor
|| devices[dev].device != device) {
- kprintf(" PCI(%d,%d,%d) = %#x:%#x",
- bus, slot, func, vendor, device);
+ class = pci_read_byte(bus, slot, func, 11);
+ subclass = pci_read_byte(bus, slot, func, 10);
+ kprintf(" PCI(%d,%d,%d) = %#.4x:%#.4x (%#.2x, %#.2x)",
+ bus, slot, func, vendor, device,
+ class, subclass);
}
}
}