|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
#include <type.h>Go to the source code of this file.
Data Structures | |
| struct | pci_access_ops |
| struct | pci_segment |
Macros | |
| #define | MAX_PCI_BUS 256 |
| #define | PCI_MAX_SEGMENTS 16 |
Typedefs | |
| typedef struct pci_access_ops | pci_access_ops_t |
| typedef struct pci_segment | pci_segment_t |
Enumerations | |
| enum | PCI_SEGMENT_TYPE : uint8_t { PCI_SEGMENT_LEGACY = 0 , PCI_SEGMENT_PCIE = 1 } |
| enum | PCI_HEADER_TYPE { PCI_HEADER_TYPE_STANDARD_DEVICE = 0 , PCI_HEADER_TYPE_PCI_TO_PCI_BRIDGE = 1 , PCI_HEADER_TYPE_CARDBUS_BRIDGE = 2 } |
| #define PCI_MAX_SEGMENTS 16 |
Definition at line 15 of file pci.h.
Referenced by register_segment().
| typedef struct pci_access_ops pci_access_ops_t |
| typedef struct pci_segment pci_segment_t |
| enum PCI_HEADER_TYPE |
| enum PCI_SEGMENT_TYPE : uint8_t |
Definition at line 32 of file pci.c.
References base, offset, and pci_readl().
| void legacy_write32 | ( | uintptr_t | base, |
| uint8_t | bus, | ||
| uint8_t | dev, | ||
| uint8_t | func, | ||
| uint16_t | offset, | ||
| uint32_t | val ) |
Definition at line 38 of file pci.c.
References base, offset, and pci_writel().
Definition at line 62 of file scan.c.
References pci_read32().
Referenced by __attribute__(), pci_scan_bus(), and vxPCIGatheringBusInfo().
Definition at line 49 of file scan.c.
References find_segment(), pci_segment::ops, pci_access_ops::read32, segments, and pci_segment::vbase.
Referenced by pci_check_bus(), pci_read16(), pci_read64(), pci_read8(), pci_write16(), virtio_scan_capabilities(), and vxPCIGatheringBusInfo().
Definition at line 56 of file scan.c.
References pci_read32().
Definition at line 67 of file scan.c.
References pci_read32().
Referenced by for_each_virtio_device(), pci_check_func(), pci_scan_bus(), virtio_scan_capabilities(), and vxPCIGatheringBusInfo().
| void pci_scan | ( | ) |
Definition at line 425 of file scan.c.
References pci_segment::bus_end, pci_segment::bus_start, has_ecam, legacy_ops, LOG_INFO, pci_scan_bus(), PCI_SEGMENT_LEGACY, register_segment(), segment_count, pci_segment::segment_id, segments, and pci_segment::valid.
Referenced by INIT().
Definition at line 88 of file scan.c.
References pci_read32(), and pci_write32().
Referenced by __attribute__(), and vxPCIGatheringBusInfo().
Definition at line 72 of file scan.c.
References find_segment(), pci_segment::ops, segments, pci_segment::vbase, and pci_access_ops::write32.
Referenced by __attribute__(), pci_write16(), pci_write64(), and vxPCIGatheringBusInfo().
Definition at line 80 of file scan.c.
References pci_write32().
| 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 ) |
Definition at line 26 of file scan.c.
References pci_segment::bus_end, pci_segment::bus_start, ops, pci_segment::ops, PCI_MAX_SEGMENTS, segment_count, pci_segment::segment_id, segments, pci_segment::type, type, pci_segment::valid, and pci_segment::vbase.