|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include "hal/acpi/acpi.h"#include "hal/cpu/paging.h"#include "hal/pci/pci.h"#include "libk/serial.h"#include <type.h>#include "memory/vm_manager.h"#include <hal/pci/pcie.h>Go to the source code of this file.
Functions | |
| static uint32_t | ecam_read32 (uintptr_t base, uint8_t bus, uint8_t dev, uint8_t func, uint16_t offset) |
| static void | ecam_write32 (uintptr_t base, uint8_t bus, uint8_t dev, uint8_t func, uint16_t offset, uint32_t val) |
| void | register_segment (uint16_t seg_id, uint8_t start, uint8_t end, uintptr_t vbase, pci_access_ops_t *ops, PCI_SEGMENT_TYPE type) |
| void | mcfg_parse (uintptr_t addr) |
Variables | |
| static pci_access_ops_t | ecam_ops |
| boolean_t | has_ecam = 0 |
| void mcfg_parse | ( | uintptr_t | addr | ) |
Definition at line 36 of file pcie.c.
References addr, MCFG_configuration_space_t::base_addr, ecam_ops, MCFG_configuration_space_t::end_pci_bus, get_kernel_vmm_page(), has_ecam, SDT::Length, LOG2_INFO, LOG_INFO, PAGE_SIZE, paging_get_highest_page_map(), paging_reload(), MCFG_configuration_space_t::pci_segment_group, PCI_SEGMENT_PCIE, register_segment(), SDT::Signature, MCFG_configuration_space_t::start_pci_bus, vma_lookup_free_vaddr(), VMA_REGION_C, and vxMultipleMmap().
Referenced by __attribute__().
|
extern |
Definition at line 26 of file scan.c.
Referenced by mcfg_parse(), and pci_scan().
|
static |
Definition at line 25 of file pcie.c.
Referenced by mcfg_parse().
| boolean_t has_ecam = 0 |
Definition at line 34 of file pcie.c.
Referenced by mcfg_parse(), and pci_scan().