diff options
Diffstat (limited to 'src/pci.h')
-rw-r--r-- | src/pci.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -4,6 +4,14 @@ #include "port.h" typedef struct { + uint16_t vendor_id; + uint16_t device_id; + uint8_t class_id; + uint8_t subclass_id; + uint8_t revision_id; +} pci_device_descriptor_t; + +typedef struct { port32_t command_port; port32_t data_port; } pci_controller_t; @@ -12,5 +20,8 @@ void pci_controller_init( pci_controller_t *controller ); uint16_t pci_controller_read( pci_controller_t *controller, uint16_t bus, uint16_t device, uint16_t function, uint32_t offset ); void pci_controller_write( pci_controller_t *controller, uint16_t bus, uint16_t device, uint16_t function, uint32_t offset, uint32_t data ); +void pci_controller_scan( pci_controller_t *controller ); + +void pci_device_descriptor_init( pci_device_descriptor_t *descriptor, pci_controller_t *controller, uint16_t bus, uint16_t device, uint16_t function ); #endif // PCI_H |