37#if defined(__GNUC__) || defined(__clang__)
44#define PCI_VENDOR_ID 0x00
45#define PCI_DEVICE_ID 0x02
46#define PCI_COMMAND 0x04
47#define PCI_STATUS 0x06
48#define PCI_REVISION_ID 0x08
49#define PCI_PROG_IF 0x09
50#define PCI_SUBCLASS 0x0a
52#define PCI_CACHE_LINE_SIZE 0x0c
53#define PCI_LATENCY_TIMER 0x0d
54#define PCI_HEADER_TYPE 0x0e
62#define PCI_CAPABILITIES_PTR 0x34
63#define PCI_INTERRUPT_LINE 0x3C
64#define PCI_INTERRUPT_PIN 0x3D
66#define PCI_MAX_BUS 0x20
67#define PCI_DEVICE_PER_BUS 32
68#define PCI_FUNCTION_PER_DEVICE 8
#define AU_EXTERN
Definition aurora.h:55
#define AU_EXPORT
Definition aurora.h:41
AuUSBDeviceStruc * device
Definition main.cpp:148
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
AU_EXTERN AU_EXPORT uint64_t AuPCIEScanVendorDevice(uint16_t vendor, uint16_t device, int *bus_, int *dev_, int *func_)
AuPCIEScanVendorDevice – scans and return pcie device with given vendor id and device id.
Definition pcie.c:431
AU_EXTERN AU_EXPORT uint64_t AuPCIEReadBAR(uint64_t device, uint16_t bus, uint16_t dev, uint16_t func, size_t BAR, size_t *barsz)
Definition pcie.c:500
uint64_t AuPCIEGetDevice(uint16_t seg, int bus, int dev, int func)
AuPCIEGetDevice – gets a device address from its bus dev and func.
Definition pcie.cpp:44
AU_EXTERN AU_EXPORT void AuPCIEWrite64(uint64_t device, int reg, int size, uint64_t val, int bus, int dev, int func)
Definition pcie.cpp:326
AU_EXTERN AU_EXPORT uint64_t AuPCIERead64(uint64_t device, int reg, int size, int bus, int dev, int func)
AuPCIERead64 – reads in 64.
Definition pcie.cpp:183
AU_EXTERN AU_EXPORT uint64_t AuPCIEScanClassIF(uint8_t classCode, uint8_t subClassCode, uint8_t progIf, int *bus_, int *dev_, int *func_)
AuPCIEScanClassIF – scans and return pcie device with given class code and sub class code.
Definition pcie.cpp:405
AU_EXTERN AU_EXPORT bool AuPCIEAllocMSI(uint64_t device, size_t vector, int bus, int dev, int func)
AuPCIEAllocMSI – Allocate MSI/MSI-X for interrupt.
Definition pcie.cpp:454
AU_EXTERN AU_EXPORT void AuPCIEWrite(uint64_t device, int reg, uint32_t val, int bus, int dev, int func)
AuPCIEWrite – writes to a register.
Definition pcie.cpp:226
AU_EXTERN AU_EXPORT uint64_t AuPCIEScanClass(uint8_t classCode, uint8_t subClassCode, int *bus_, int *dev_, int *func_)
AuPCIEScanClass – scans and return pcie device with given class code and sub class code.
Definition pcie.cpp:358
AU_EXTERN AU_EXPORT uint32_t AuPCIERead(uint64_t device, int reg, int bus, int dev, int func)
AuPCIERead – reads a register from pci express.
Definition pcie.cpp:72