Voxia OS
v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
pcie.h
Go to the documentation of this file.
1
#ifndef __HAL__PCI__PCIE_H__
2
#define __HAL__PCI__PCIE_H__
3
4
#include <
hal/acpi/acpi.h
>
5
#include <
type.h
>
6
7
typedef
struct
MCFG_configuration_space_t
{
8
uint64_t
base_addr
;
9
uint16_t
pci_segment_group
;
10
uint8_t
start_pci_bus
;
11
uint8_t
end_pci_bus
;
12
uint32_t
reserved
;
13
}
__attribute__
((packed))
MCFG_configuration_space_t
;
14
15
typedef
struct
{
16
struct
SDT
sdt
;
17
uint64_t
reserved
;
18
MCFG_configuration_space_t
conf
[];
19
}
__attribute__
((packed)) MCFG_t;
20
21
void
mcfg_parse
(
uintptr_t
addr
);
22
boolean_t
vxIsMCFGExisted
();
23
24
#endif
// __HAL__PCI__PCIE_H__
acpi.h
addr
volatile uint64_t addr
Definition
e1000.hpp:0
vxIsMCFGExisted
boolean_t vxIsMCFGExisted()
mcfg_parse
void mcfg_parse(uintptr_t addr)
Definition
pcie.c:36
__attribute__
typedef __attribute__
MCFG_configuration_space_t
Definition
pcie.h:7
MCFG_configuration_space_t::end_pci_bus
uint8_t end_pci_bus
Definition
pcie.h:11
MCFG_configuration_space_t::pci_segment_group
uint16_t pci_segment_group
Definition
pcie.h:9
MCFG_configuration_space_t::reserved
uint32_t reserved
Definition
pcie.h:12
MCFG_configuration_space_t::start_pci_bus
uint8_t start_pci_bus
Definition
pcie.h:10
MCFG_configuration_space_t::base_addr
uint64_t base_addr
Definition
pcie.h:8
SDT
Definition
acpi.h:14
__attribute__::sdt
struct SDT sdt
Definition
pcie.h:16
__attribute__::reserved
uint64_t reserved
Definition
pcie.h:17
__attribute__::conf
MCFG_configuration_space_t conf[]
Definition
pcie.h:18
type.h
uint16_t
unsigned short uint16_t
Definition
type.h:13
uint32_t
unsigned int uint32_t
Definition
type.h:19
boolean_t
uint8_t boolean_t
Definition
type.h:89
uintptr_t
unsigned long uintptr_t
Definition
type.h:73
uint64_t
unsigned long uint64_t
Definition
type.h:25
uint8_t
unsigned char uint8_t
Definition
type.h:7
kernel
hal
pci
pcie.h
Generated on Sat May 30 2026 11:09:57 for Voxia OS by
1.13.2