PCI card bus configuration registers
#include <qvm/hw_pci.h>
struct _pci_cardbus_config_regs { uint16_t Vendor_ID; uint16_t Device_ID; uint16_t Command; uint16_t Status; uint8_t Revision_ID; uint8_t Class_Code[3]; uint8_t Cache_Line_Size; uint8_t Latency_Timer; uint8_t Header_Type; uint8_t BIST; uint32_t Socket_Exca_Base_Reg; uint8_t Capabilities_Pointer; uint8_t reserved1; uint16_t Secondary_Status; uint8_t Pci_Bus_Num; uint8_t Cardbus_Bus_Num; uint8_t Sub_Bus_Num; uint8_t Cardbus_Latency_Timer; uint32_t Mem_Base_Reg_0; uint32_t Mem_Limit_Reg_0; uint32_t Mem_Base_Reg_1; uint32_t Mem_Limit_Reg_1; uint32_t Io_Base_Reg_0; uint32_t Io_Limit_Reg_0; uint32_t Io_Base_Reg_1; uint32_t Io_Limit_Reg_1; uint8_t Interrupt_Line; uint8_t Interrupt_Pin; uint16_t Bridge_Control; uint16_t Subsystem_Vendor_Id; uint16_t Subsystem_Id; uint32_t If_Legacy_Base_Reg; uint8_t reserved2[56]; uint32_t System_Control; uint8_t reserved3[8]; uint32_t Multifunction_Routing; uint8_t Retry_Status; uint8_t Card_Control; uint8_t Device_Control; uint8_t Buffer_Control; uint32_t Dma_Reg_0; uint32_t Dma_Reg_1; uint8_t Device_Dependent_Regs[100]; } ;
0x00
0x02
0x04
0x06
0x08
0x09
0x0C
0x0D
0x0E
0x0F
0x10
0x14
0x15
0x16
0x18
0x19
0x1A
0x1B
0x1C
0x20
0x24
0x28
0x2C
0x30
0x34
0x38
0x3C
0x3D
0x3E
0x40
0x42
0x44
0x48
0x80
0x84
0x8C
0x90
0x91
0x92
0x93
0x94
0x98
Device-dependent registers
See the PCI specification.