PatchworkOS
Loading...
Searching...
No Matches
pci_config.h
Go to the documentation of this file.
1#pragma once
2
3#include <kernel/acpi/acpi.h>
4
5#include <stdint.h>
6
25
30
35
40
53
64
76 uint16_t offset);
77
89 uint16_t offset);
90
102 uint16_t offset);
103
114void pci_config_write8(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function,
115 uint16_t offset, uint8_t value);
116
127void pci_config_write16(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function,
128 uint16_t offset, uint16_t value);
129
140void pci_config_write32(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function,
141 uint16_t offset, uint32_t value);
142
#define PACKED
GCC packed attribute.
Definition defs.h:32
void pci_config_write8(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function, uint16_t offset, uint8_t value)
Write a byte to PCI configuration space.
Definition pci_config.c:113
uint8_t pci_function_t
PCI Function Type.
Definition pci_config.h:39
void pci_config_write16(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function, uint16_t offset, uint16_t value)
Write a word to PCI configuration space.
Definition pci_config.c:123
uint8_t pci_config_read8(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function, uint16_t offset)
Read a byte from PCI configuration space.
Definition pci_config.c:80
uint8_t pci_slot_t
PCI Slot Type.
Definition pci_config.h:34
uint32_t pci_config_read32(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function, uint16_t offset)
Read a dword from PCI configuration space.
Definition pci_config.c:102
void pci_config_write32(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function, uint16_t offset, uint32_t value)
Write a dword to PCI configuration space.
Definition pci_config.c:133
uint8_t pci_bus_t
PCI Bus Type.
Definition pci_config.h:29
uint16_t pci_segment_group_t
PCI Segment Group Type.
Definition pci_config.h:24
uint16_t pci_config_read16(pci_segment_group_t segmentGroup, pci_bus_t bus, pci_slot_t slot, pci_function_t function, uint16_t offset)
Read a word from PCI configuration space.
Definition pci_config.c:91
static start_entry_t entries[START_ENTRY_MAX]
Definition start_menu.c:21
__UINT32_TYPE__ uint32_t
Definition stdint.h:15
__UINT64_TYPE__ uint64_t
Definition stdint.h:17
__UINT8_TYPE__ uint8_t
Definition stdint.h:11
__UINT16_TYPE__ uint16_t
Definition stdint.h:13
PCI Express Memory-mapped Configuration.
Definition pci_config.h:59
sdt_header_t header
Definition pci_config.h:60
uint64_t reserved
Definition pci_config.h:61
PCI-e Configuration Space Base Address Allocation Structure.
Definition pci_config.h:46
pci_segment_group_t segmentGroup
Definition pci_config.h:48
uint32_t reserved
Definition pci_config.h:51
pci_bus_t endBus
Definition pci_config.h:50
pci_bus_t startBus
Definition pci_config.h:49
System Description Table Header.
Definition acpi.h:90