diff options
author | Ian Moffett <ian@osmora.org> | 2025-06-12 00:04:25 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-06-12 00:04:25 -0400 |
commit | f874dae43e8bb09cb15c652add7589899ed4799f (patch) | |
tree | ba3020eca7a38a7cc2271c35b7457b57a6e5c551 /sys/include | |
parent | 952caa186852ccf3fa82719d3e484918e89d17a8 (diff) |
kernel: pci: Add support for PCI Express
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include')
-rw-r--r-- | sys/include/dev/acpi/tables.h | 30 | ||||
-rw-r--r-- | sys/include/dev/pci/pci.h | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/sys/include/dev/acpi/tables.h b/sys/include/dev/acpi/tables.h index 5215c86..d190150 100644 --- a/sys/include/dev/acpi/tables.h +++ b/sys/include/dev/acpi/tables.h @@ -132,4 +132,34 @@ struct __packed acpi_hpet { uint8_t page_protection; }; +/* + * PCIe / ACPI MCFG base address description + * table. + * + * @base_pa: Enhanced configuration base [physical] + * @seg_grpno: PCI segment group number + * @bus_start: Host bridge bus start + * @bus_end: Host bridge bus end + */ +struct __packed acpi_mcfg_base { + uint64_t base_pa; + uint16_t seg_grpno; + uint8_t bus_start; + uint8_t bus_end; + uint32_t reserved; +}; + +/* + * PCIe / ACPI MCFG structure + * + * @hdr: ACPI header + * @reserved: Do not use + * @base: ECAM MMIO address list + */ +struct __packed acpi_mcfg { + struct acpi_header hdr; + uint32_t reserved[2]; + struct acpi_mcfg_base base[1]; +}; + #endif /* _ACPI_TABLES_H_ */ diff --git a/sys/include/dev/pci/pci.h b/sys/include/dev/pci/pci.h index a4de162..144b500 100644 --- a/sys/include/dev/pci/pci.h +++ b/sys/include/dev/pci/pci.h @@ -62,6 +62,7 @@ struct pci_device { uint8_t pci_subclass; uint8_t prog_if; uint8_t hdr_type; + uint8_t pci_express : 1; uint8_t pri_bus; uint8_t sec_bus; |