MicrOS
pci.h
Go to the documentation of this file.
1 #ifndef PCI_H
2 #define PCI_H
3 
4 #include <stdint.h>
5 #include <stdbool.h>
6 #include "pci_device.h"
7 #include "pci_in_data.h"
8 
9 #define PCI_DEVICE_COUNT 32
10 
11 #define PCI_CONFIG_ADDRESS 0xCF8
12 #define PCI_CONFIG_DATA 0xCFC
13 
14 #define PCI_COMMAND_REGISTER 0x1
15 #define PCI_COMMAND_BUSMASTER_FLAG (1 << 2)
16 
17 void pci_init();
19 pci_device *pci_get_device(uint8_t index);
23 void pci_check_device(uint16_t bus, uint16_t dev);
24 void pci_check_bus(uint16_t bus);
25 void pci_check_all_buses();
26 void pci_busmaster_set(pci_device *device,bool value);
27 
28 void pci_io_out(pci_device *dev, uint8_t desc_index, uint32_t value);
29 uint32_t pci_io_in(pci_device *dev, uint8_t desc_index);
30 
31 void pci_print_devices();
32 
33 #endif
void pci_check_bridge(pci_device *dev)
Definition: pci.c:58
gdt_info info
Definition: gdt.c:4
void pci_check_device(uint16_t bus, uint16_t dev)
Definition: pci.c:67
void pci_insert_device(pci_device *dev, pci_in_data *data)
Definition: pci.c:47
pci_device dev
Definition: pci.c:10
void pci_print_devices()
uint32_t pci_io_in(pci_device *dev, uint8_t desc_index)
Definition: pci.c:135
uint8_t pci_get_number_of_devices()
Definition: pci.c:42
void pci_io_out(pci_device *dev, uint8_t desc_index, uint32_t value)
Definition: pci.c:129
void pci_init()
Definition: pci.c:14
pci_device * pci_get_device(uint8_t index)
Definition: pci.c:37
Definition: pci_in_data.h:4
void pci_get_device_info(pci_in_data *data, pci_device *info)
Definition: pci.c:25
void pci_busmaster_set(pci_device *device, bool value)
Definition: pci.c:141
void pci_check_all_buses()
Definition: pci.c:106
Definition: pci_device.h:4
void pci_check_bus(uint16_t bus)
Definition: pci.c:98
size_t uint32_t
Unsigned integral type.
Definition: string.h:8