summaryrefslogtreecommitdiff
path: root/src/pci.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pci.h')
-rw-r--r--src/pci.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/pci.h b/src/pci.h
index 2381fc3..6f82f12 100644
--- a/src/pci.h
+++ b/src/pci.h
@@ -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