|
miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
|
#include <pci.h>
pci_device_t - Descriptor for a single PCI function discovered during enumeration.
Populated by pci_init() for every non-empty bus/device/function tuple on bus 0.
| uint32_t pci_device_t::bar[6] |
Base Address Registers 0-5 (offsets 0x10-0x24)
| uint8_t pci_device_t::bus |
PCI bus number (always 0 for bus-0 scan)
| uint8_t pci_device_t::class_code |
Base class code (bits 31-24 of offset 0x08)
| uint8_t pci_device_t::dev |
PCI device number (0-31)
| uint16_t pci_device_t::device_id |
Device ID from config-space offset 0x00 high 16 bits
| uint8_t pci_device_t::fn |
PCI function number (0-7)
| uint8_t pci_device_t::header_type |
Header type byte (offset 0x0C bits 23-16)
| uint8_t pci_device_t::irq_line |
IRQ line (offset 0x3C bits 7-0)
| uint8_t pci_device_t::irq_pin |
IRQ pin (offset 0x3C bits 15-8)
| uint8_t pci_device_t::prog_if |
Programming interface (bits 15-8 of offset 0x08)
| uint8_t pci_device_t::revision_id |
Revision ID (bits 7-0 of offset 0x08)
| uint8_t pci_device_t::subclass |
Sub-class code (bits 23-16 of offset 0x08)
| uint16_t pci_device_t::subsys_device |
Subsystem device ID (offset 0x2C high 16)
| uint16_t pci_device_t::subsys_vendor |
Subsystem vendor ID (offset 0x2C low 16)
| uint16_t pci_device_t::vendor_id |
Vendor ID from config-space offset 0x00 low 16 bits