📄 header.h
字号:
#define PCI_EXP_SLTSTA2 0x3a /* Slot Status *//* MSI-X */#define PCI_MSIX_ENABLE 0x8000#define PCI_MSIX_MASK 0x4000#define PCI_MSIX_TABSIZE 0x03ff#define PCI_MSIX_TABLE 4#define PCI_MSIX_PBA 8#define PCI_MSIX_BIR 0x7/* Subsystem vendor/device ID for PCI bridges */#define PCI_SSVID_VENDOR 4#define PCI_SSVID_DEVICE 6/* Advanced Error Reporting */#define PCI_ERR_UNCOR_STATUS 4 /* Uncorrectable Error Status */#define PCI_ERR_UNC_TRAIN 0x00000001 /* Undefined in PCIe rev1.1 & 2.0 spec */#define PCI_ERR_UNC_DLP 0x00000010 /* Data Link Protocol */#define PCI_ERR_UNC_SDES 0x00000020 /* Surprise Down Error */#define PCI_ERR_UNC_POISON_TLP 0x00001000 /* Poisoned TLP */#define PCI_ERR_UNC_FCP 0x00002000 /* Flow Control Protocol */#define PCI_ERR_UNC_COMP_TIME 0x00004000 /* Completion Timeout */#define PCI_ERR_UNC_COMP_ABORT 0x00008000 /* Completer Abort */#define PCI_ERR_UNC_UNX_COMP 0x00010000 /* Unexpected Completion */#define PCI_ERR_UNC_RX_OVER 0x00020000 /* Receiver Overflow */#define PCI_ERR_UNC_MALF_TLP 0x00040000 /* Malformed TLP */#define PCI_ERR_UNC_ECRC 0x00080000 /* ECRC Error Status */#define PCI_ERR_UNC_UNSUP 0x00100000 /* Unsupported Request */#define PCI_ERR_UNC_ACS_VIOL 0x00200000 /* ACS Violation */#define PCI_ERR_UNCOR_MASK 8 /* Uncorrectable Error Mask */ /* Same bits as above */#define PCI_ERR_UNCOR_SEVER 12 /* Uncorrectable Error Severity */ /* Same bits as above */#define PCI_ERR_COR_STATUS 16 /* Correctable Error Status */#define PCI_ERR_COR_RCVR 0x00000001 /* Receiver Error Status */#define PCI_ERR_COR_BAD_TLP 0x00000040 /* Bad TLP Status */#define PCI_ERR_COR_BAD_DLLP 0x00000080 /* Bad DLLP Status */#define PCI_ERR_COR_REP_ROLL 0x00000100 /* REPLAY_NUM Rollover */#define PCI_ERR_COR_REP_TIMER 0x00001000 /* Replay Timer Timeout */#define PCI_ERR_COR_REP_ANFE 0x00002000 /* Advisory Non-Fatal Error */#define PCI_ERR_COR_MASK 20 /* Correctable Error Mask */ /* Same bits as above */#define PCI_ERR_CAP 24 /* Advanced Error Capabilities */#define PCI_ERR_CAP_FEP(x) ((x) & 31) /* First Error Pointer */#define PCI_ERR_CAP_ECRC_GENC 0x00000020 /* ECRC Generation Capable */#define PCI_ERR_CAP_ECRC_GENE 0x00000040 /* ECRC Generation Enable */#define PCI_ERR_CAP_ECRC_CHKC 0x00000080 /* ECRC Check Capable */#define PCI_ERR_CAP_ECRC_CHKE 0x00000100 /* ECRC Check Enable */#define PCI_ERR_HEADER_LOG 28 /* Header Log Register (16 bytes) */#define PCI_ERR_ROOT_COMMAND 44 /* Root Error Command */#define PCI_ERR_ROOT_STATUS 48#define PCI_ERR_ROOT_COR_SRC 52#define PCI_ERR_ROOT_SRC 54/* Virtual Channel */#define PCI_VC_PORT_REG1 4#define PCI_VC_PORT_REG2 8#define PCI_VC_PORT_CTRL 12#define PCI_VC_PORT_STATUS 14#define PCI_VC_RES_CAP 16#define PCI_VC_RES_CTRL 20#define PCI_VC_RES_STATUS 26/* Power Budgeting */#define PCI_PWR_DSR 4 /* Data Select Register */#define PCI_PWR_DATA 8 /* Data Register */#define PCI_PWR_DATA_BASE(x) ((x) & 0xff) /* Base Power */#define PCI_PWR_DATA_SCALE(x) (((x) >> 8) & 3) /* Data Scale */#define PCI_PWR_DATA_PM_SUB(x) (((x) >> 10) & 7) /* PM Sub State */#define PCI_PWR_DATA_PM_STATE(x) (((x) >> 13) & 3) /* PM State */#define PCI_PWR_DATA_TYPE(x) (((x) >> 15) & 7) /* Type */#define PCI_PWR_DATA_RAIL(x) (((x) >> 18) & 7) /* Power Rail */#define PCI_PWR_CAP 12 /* Capability */#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) /* Included in system budget *//* Access Control Services */#define PCI_ACS_CAP 0x04 /* ACS Capability Register */#define PCI_ACS_CAP_VALID 0x0001 /* ACS Source Validation */#define PCI_ACS_CAP_BLOCK 0x0002 /* ACS Translation Blocking */#define PCI_ACS_CAP_REQ_RED 0x0004 /* ACS P2P Request Redirect */#define PCI_ACS_CAP_CMPLT_RED 0x0008 /* ACS P2P Completion Redirect */#define PCI_ACS_CAP_FORWARD 0x0010 /* ACS Upstream Forwarding */#define PCI_ACS_CAP_EGRESS 0x0020 /* ACS P2P Egress Control */#define PCI_ACS_CAP_TRANS 0x0040 /* ACS Direct Translated P2P */#define PCI_ACS_CAP_VECTOR(x) (((x) >> 8) & 0xff) /* Egress Control Vector Size */#define PCI_ACS_CTRL 0x06 /* ACS Control Register */#define PCI_ACS_CTRL_VALID 0x0001 /* ACS Source Validation Enable */#define PCI_ACS_CTRL_BLOCK 0x0002 /* ACS Translation Blocking Enable */#define PCI_ACS_CTRL_REQ_RED 0x0004 /* ACS P2P Request Redirect Enable */#define PCI_ACS_CTRL_CMPLT_RED 0x0008 /* ACS P2P Completion Redirect Enable */#define PCI_ACS_CTRL_FORWARD 0x0010 /* ACS Upstream Forwarding Enable */#define PCI_ACS_CTRL_EGRESS 0x0020 /* ACS P2P Egress Control Enable */#define PCI_ACS_CTRL_TRANS 0x0040 /* ACS Direct Translated P2P Enable */#define PCI_ACS_EGRESS_CTRL 0x08 /* Egress Control Vector *//* Alternative Routing-ID Interpretation */#define PCI_ARI_CAP 0x04 /* ARI Capability Register */#define PCI_ARI_CAP_MFVC 0x0001 /* MFVC Function Groups Capability */#define PCI_ARI_CAP_ACS 0x0002 /* ACS Function Groups Capability */#define PCI_ARI_CAP_NFN(x) (((x) >> 8) & 0xff) /* Next Function Number */#define PCI_ARI_CTRL 0x06 /* ARI Control Register */#define PCI_ARI_CTRL_MFVC 0x0001 /* MFVC Function Groups Enable */#define PCI_ARI_CTRL_ACS 0x0002 /* ACS Function Groups Enable */#define PCI_ARI_CTRL_FG(x) (((x) >> 4) & 7) /* Function Group *//* Address Translation Service */#define PCI_ATS_CAP 0x04 /* ATS Capability Register */#define PCI_ATS_CAP_IQD(x) ((x) & 0x1f) /* Invalidate Queue Depth */#define PCI_ATS_CTRL 0x06 /* ATS Control Register */#define PCI_ATS_CTRL_STU(x) ((x) & 0x1f) /* Smallest Translation Unit */#define PCI_ATS_CTRL_ENABLE 0x8000 /* ATS Enable *//* Single Root I/O Virtualization */#define PCI_IOV_CAP 0x04 /* SR-IOV Capability Register */#define PCI_IOV_CAP_VFM 0x00000001 /* VF Migration Capable */#define PCI_IOV_CAP_IMN(x) ((x) >> 21) /* VF Migration Interrupt Message Number */#define PCI_IOV_CTRL 0x08 /* SR-IOV Control Register */#define PCI_IOV_CTRL_VFE 0x0001 /* VF Enable */#define PCI_IOV_CTRL_VFME 0x0002 /* VF Migration Enable */#define PCI_IOV_CTRL_VFMIE 0x0004 /* VF Migration Interrupt Enable */#define PCI_IOV_CTRL_MSE 0x0008 /* VF MSE */#define PCI_IOV_CTRL_ARI 0x0010 /* ARI Capable Hierarchy */#define PCI_IOV_STATUS 0x0a /* SR-IOV Status Register */#define PCI_IOV_STATUS_MS 0x0001 /* VF Migration Status */#define PCI_IOV_INITIALVF 0x0c /* Number of VFs that are initially associated */#define PCI_IOV_TOTALVF 0x0e /* Maximum number of VFs that could be associated */#define PCI_IOV_NUMVF 0x10 /* Number of VFs that are available */#define PCI_IOV_FDL 0x12 /* Function Dependency Link */#define PCI_IOV_OFFSET 0x14 /* First VF Offset */#define PCI_IOV_STRIDE 0x16 /* Routing ID offset from one VF to the next one */#define PCI_IOV_DID 0x1a /* VF Device ID */#define PCI_IOV_SUPPS 0x1c /* Supported Page Sizes */#define PCI_IOV_SYSPS 0x20 /* System Page Size */#define PCI_IOV_BAR_BASE 0x24 /* VF BAR0, VF BAR1, ... VF BAR5 */#define PCI_IOV_NUM_BAR 6 /* Number of VF BARs */#define PCI_IOV_MSAO 0x3c /* VF Migration State Array Offset */#define PCI_IOV_MSA_BIR(x) ((x) & 7) /* VF Migration State BIR */#define PCI_IOV_MSA_OFFSET(x) ((x) & 0xfffffff8) /* VF Migration State Offset *//* * The PCI interface treats multi-function devices as independent * devices. The slot/function address of each device is encoded * in a single byte as follows: * * 7:3 = slot * 2:0 = function */#define PCI_DEVFN(slot,func) ((((slot) & 0x1f) << 3) | ((func) & 0x07))#define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f)#define PCI_FUNC(devfn) ((devfn) & 0x07)/* Device classes and subclasses */#define PCI_CLASS_NOT_DEFINED 0x0000#define PCI_CLASS_NOT_DEFINED_VGA 0x0001#define PCI_BASE_CLASS_STORAGE 0x01#define PCI_CLASS_STORAGE_SCSI 0x0100#define PCI_CLASS_STORAGE_IDE 0x0101#define PCI_CLASS_STORAGE_FLOPPY 0x0102#define PCI_CLASS_STORAGE_IPI 0x0103#define PCI_CLASS_STORAGE_RAID 0x0104#define PCI_CLASS_STORAGE_ATA 0x0105#define PCI_CLASS_STORAGE_SATA 0x0106#define PCI_CLASS_STORAGE_SAS 0x0107#define PCI_CLASS_STORAGE_OTHER 0x0180#define PCI_BASE_CLASS_NETWORK 0x02#define PCI_CLASS_NETWORK_ETHERNET 0x0200#define PCI_CLASS_NETWORK_TOKEN_RING 0x0201#define PCI_CLASS_NETWORK_FDDI 0x0202#define PCI_CLASS_NETWORK_ATM 0x0203#define PCI_CLASS_NETWORK_ISDN 0x0204#define PCI_CLASS_NETWORK_OTHER 0x0280#define PCI_BASE_CLASS_DISPLAY 0x03#define PCI_CLASS_DISPLAY_VGA 0x0300#define PCI_CLASS_DISPLAY_XGA 0x0301#define PCI_CLASS_DISPLAY_3D 0x0302#define PCI_CLASS_DISPLAY_OTHER 0x0380#define PCI_BASE_CLASS_MULTIMEDIA 0x04#define PCI_CLASS_MULTIMEDIA_VIDEO 0x0400#define PCI_CLASS_MULTIMEDIA_AUDIO 0x0401#define PCI_CLASS_MULTIMEDIA_PHONE 0x0402#define PCI_CLASS_MULTIMEDIA_AUDIO_DEV 0x0403#define PCI_CLASS_MULTIMEDIA_OTHER 0x0480#define PCI_BASE_CLASS_MEMORY 0x05#define PCI_CLASS_MEMORY_RAM 0x0500#define PCI_CLASS_MEMORY_FLASH 0x0501#define PCI_CLASS_MEMORY_OTHER 0x0580#define PCI_BASE_CLASS_BRIDGE 0x06#define PCI_CLASS_BRIDGE_HOST 0x0600#define PCI_CLASS_BRIDGE_ISA 0x0601#define PCI_CLASS_BRIDGE_EISA 0x0602#define PCI_CLASS_BRIDGE_MC 0x0603#define PCI_CLASS_BRIDGE_PCI 0x0604#define PCI_CLASS_BRIDGE_PCMCIA 0x0605#define PCI_CLASS_BRIDGE_NUBUS 0x0606#define PCI_CLASS_BRIDGE_CARDBUS 0x0607#define PCI_CLASS_BRIDGE_RACEWAY 0x0608#define PCI_CLASS_BRIDGE_PCI_SEMI 0x0609#define PCI_CLASS_BRIDGE_IB_TO_PCI 0x060a#define PCI_CLASS_BRIDGE_OTHER 0x0680#define PCI_BASE_CLASS_COMMUNICATION 0x07#define PCI_CLASS_COMMUNICATION_SERIAL 0x0700#define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701#define PCI_CLASS_COMMUNICATION_MSERIAL 0x0702#define PCI_CLASS_COMMUNICATION_MODEM 0x0703#define PCI_CLASS_COMMUNICATION_OTHER 0x0780#define PCI_BASE_CLASS_SYSTEM 0x08#define PCI_CLASS_SYSTEM_PIC 0x0800#define PCI_CLASS_SYSTEM_DMA 0x0801#define PCI_CLASS_SYSTEM_TIMER 0x0802#define PCI_CLASS_SYSTEM_RTC 0x0803#define PCI_CLASS_SYSTEM_PCI_HOTPLUG 0x0804#define PCI_CLASS_SYSTEM_OTHER 0x0880#define PCI_BASE_CLASS_INPUT 0x09#define PCI_CLASS_INPUT_KEYBOARD 0x0900#define PCI_CLASS_INPUT_PEN 0x0901#define PCI_CLASS_INPUT_MOUSE 0x0902#define PCI_CLASS_INPUT_SCANNER 0x0903#define PCI_CLASS_INPUT_GAMEPORT 0x0904#define PCI_CLASS_INPUT_OTHER 0x0980#define PCI_BASE_CLASS_DOCKING 0x0a#define PCI_CLASS_DOCKING_GENERIC 0x0a00#define PCI_CLASS_DOCKING_OTHER 0x0a80#define PCI_BASE_CLASS_PROCESSOR 0x0b#define PCI_CLASS_PROCESSOR_386 0x0b00#define PCI_CLASS_PROCESSOR_486 0x0b01#define PCI_CLASS_PROCESSOR_PENTIUM 0x0b02#define PCI_CLASS_PROCESSOR_ALPHA 0x0b10#define PCI_CLASS_PROCESSOR_POWERPC 0x0b20#define PCI_CLASS_PROCESSOR_MIPS 0x0b30#define PCI_CLASS_PROCESSOR_CO 0x0b40#define PCI_BASE_CLASS_SERIAL 0x0c#define PCI_CLASS_SERIAL_FIREWIRE 0x0c00#define PCI_CLASS_SERIAL_ACCESS 0x0c01#define PCI_CLASS_SERIAL_SSA 0x0c02#define PCI_CLASS_SERIAL_USB 0x0c03#define PCI_CLASS_SERIAL_FIBER 0x0c04#define PCI_CLASS_SERIAL_SMBUS 0x0c05#define PCI_CLASS_SERIAL_INFINIBAND 0x0c06#define PCI_BASE_CLASS_WIRELESS 0x0d#define PCI_CLASS_WIRELESS_IRDA 0x0d00#define PCI_CLASS_WIRELESS_CONSUMER_IR 0x0d01#define PCI_CLASS_WIRELESS_RF 0x0d10#define PCI_CLASS_WIRELESS_OTHER 0x0d80#define PCI_BASE_CLASS_INTELLIGENT 0x0e#define PCI_CLASS_INTELLIGENT_I2O 0x0e00#define PCI_BASE_CLASS_SATELLITE 0x0f#define PCI_CLASS_SATELLITE_TV 0x0f00#define PCI_CLASS_SATELLITE_AUDIO 0x0f01#define PCI_CLASS_SATELLITE_VOICE 0x0f03#define PCI_CLASS_SATELLITE_DATA 0x0f04#define PCI_BASE_CLASS_CRYPT 0x10#define PCI_CLASS_CRYPT_NETWORK 0x1000#define PCI_CLASS_CRYPT_ENTERTAINMENT 0x1010#define PCI_CLASS_CRYPT_OTHER 0x1080#define PCI_BASE_CLASS_SIGNAL 0x11#define PCI_CLASS_SIGNAL_DPIO 0x1100#define PCI_CLASS_SIGNAL_PERF_CTR 0x1101#define PCI_CLASS_SIGNAL_SYNCHRONIZER 0x1110#define PCI_CLASS_SIGNAL_OTHER 0x1180#define PCI_CLASS_OTHERS 0xff/* Several ID's we need in the library */#define PCI_VENDOR_ID_INTEL 0x8086#define PCI_VENDOR_ID_COMPAQ 0x0e11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -