📄 header.h
字号:
#define PCI_PM_PPB_EXTENSIONS 6 /* PPB support extensions */#define PCI_PM_PPB_B2_B3 0x40 /* If bridge enters D3hot, bus enters: 0=B3, 1=B2 */#define PCI_PM_BPCC_ENABLE 0x80 /* Secondary bus is power managed */#define PCI_PM_DATA_REGISTER 7 /* PM table contents read here */#define PCI_PM_SIZEOF 8/* AGP registers */#define PCI_AGP_VERSION 2 /* BCD version number */#define PCI_AGP_RFU 3 /* Rest of capability flags */#define PCI_AGP_STATUS 4 /* Status register */#define PCI_AGP_STATUS_RQ_MASK 0xff000000 /* Maximum number of requests - 1 */#define PCI_AGP_STATUS_ISOCH 0x10000 /* Isochronous transactions supported */#define PCI_AGP_STATUS_ARQSZ_MASK 0xe000 /* log2(optimum async req size in bytes) - 4 */#define PCI_AGP_STATUS_CAL_MASK 0x1c00 /* Calibration cycle timing */#define PCI_AGP_STATUS_SBA 0x0200 /* Sideband addressing supported */#define PCI_AGP_STATUS_ITA_COH 0x0100 /* In-aperture accesses always coherent */#define PCI_AGP_STATUS_GART64 0x0080 /* 64-bit GART entries supported */#define PCI_AGP_STATUS_HTRANS 0x0040 /* If 0, core logic can xlate host CPU accesses thru aperture */#define PCI_AGP_STATUS_64BIT 0x0020 /* 64-bit addressing cycles supported */#define PCI_AGP_STATUS_FW 0x0010 /* Fast write transfers supported */#define PCI_AGP_STATUS_AGP3 0x0008 /* AGP3 mode supported */#define PCI_AGP_STATUS_RATE4 0x0004 /* 4x transfer rate supported (RFU in AGP3 mode) */#define PCI_AGP_STATUS_RATE2 0x0002 /* 2x transfer rate supported (8x in AGP3 mode) */#define PCI_AGP_STATUS_RATE1 0x0001 /* 1x transfer rate supported (4x in AGP3 mode) */#define PCI_AGP_COMMAND 8 /* Control register */#define PCI_AGP_COMMAND_RQ_MASK 0xff000000 /* Master: Maximum number of requests */#define PCI_AGP_COMMAND_ARQSZ_MASK 0xe000 /* log2(optimum async req size in bytes) - 4 */#define PCI_AGP_COMMAND_CAL_MASK 0x1c00 /* Calibration cycle timing */#define PCI_AGP_COMMAND_SBA 0x0200 /* Sideband addressing enabled */#define PCI_AGP_COMMAND_AGP 0x0100 /* Allow processing of AGP transactions */#define PCI_AGP_COMMAND_GART64 0x0080 /* 64-bit GART entries enabled */#define PCI_AGP_COMMAND_64BIT 0x0020 /* Allow generation of 64-bit addr cycles */#define PCI_AGP_COMMAND_FW 0x0010 /* Enable FW transfers */#define PCI_AGP_COMMAND_RATE4 0x0004 /* Use 4x rate (RFU in AGP3 mode) */#define PCI_AGP_COMMAND_RATE2 0x0002 /* Use 2x rate (8x in AGP3 mode) */#define PCI_AGP_COMMAND_RATE1 0x0001 /* Use 1x rate (4x in AGP3 mode) */#define PCI_AGP_SIZEOF 12/* Slot Identification */#define PCI_SID_ESR 2 /* Expansion Slot Register */#define PCI_SID_ESR_NSLOTS 0x1f /* Number of expansion slots available */#define PCI_SID_ESR_FIC 0x20 /* First In Chassis Flag */#define PCI_SID_CHASSIS_NR 3 /* Chassis Number *//* Message Signalled Interrupts registers */#define PCI_MSI_FLAGS 2 /* Various flags */#define PCI_MSI_FLAGS_64BIT 0x80 /* 64-bit addresses allowed */#define PCI_MSI_FLAGS_QSIZE 0x70 /* Message queue size configured */#define PCI_MSI_FLAGS_QMASK 0x0e /* Maximum queue size available */#define PCI_MSI_FLAGS_ENABLE 0x01 /* MSI feature enabled */#define PCI_MSI_RFU 3 /* Rest of capability flags */#define PCI_MSI_ADDRESS_LO 4 /* Lower 32 bits */#define PCI_MSI_ADDRESS_HI 8 /* Upper 32 bits (if PCI_MSI_FLAGS_64BIT set) */#define PCI_MSI_DATA_32 8 /* 16 bits of data for 32-bit devices */#define PCI_MSI_DATA_64 12 /* 16 bits of data for 64-bit devices *//* PCI-X */#define PCI_PCIX_COMMAND 2 /* Command register offset */#define PCI_PCIX_COMMAND_DPERE 0x0001 /* Data Parity Error Recover Enable */#define PCI_PCIX_COMMAND_ERO 0x0002 /* Enable Relaxed Ordering */#define PCI_PCIX_COMMAND_MAX_MEM_READ_BYTE_COUNT 0x000c /* Maximum Memory Read Byte Count */#define PCI_PCIX_COMMAND_MAX_OUTSTANDING_SPLIT_TRANS 0x0070 #define PCI_PCIX_COMMAND_RESERVED 0xf80#define PCI_PCIX_STATUS 4 /* Status register offset */#define PCI_PCIX_STATUS_FUNCTION 0x00000007#define PCI_PCIX_STATUS_DEVICE 0x000000f8#define PCI_PCIX_STATUS_BUS 0x0000ff00#define PCI_PCIX_STATUS_64BIT 0x00010000#define PCI_PCIX_STATUS_133MHZ 0x00020000#define PCI_PCIX_STATUS_SC_DISCARDED 0x00040000 /* Split Completion Discarded */#define PCI_PCIX_STATUS_UNEXPECTED_SC 0x00080000 /* Unexpected Split Completion */#define PCI_PCIX_STATUS_DEVICE_COMPLEXITY 0x00100000 /* 0 = simple device, 1 = bridge device */#define PCI_PCIX_STATUS_DESIGNED_MAX_MEM_READ_BYTE_COUNT 0x00600000 /* 0 = 512 bytes, 1 = 1024, 2 = 2048, 3 = 4096 */#define PCI_PCIX_STATUS_DESIGNED_MAX_OUTSTANDING_SPLIT_TRANS 0x03800000#define PCI_PCIX_STATUS_DESIGNED_MAX_CUMULATIVE_READ_SIZE 0x1c000000#define PCI_PCIX_STATUS_RCVD_SC_ERR_MESS 0x20000000 /* Received Split Completion Error Message */#define PCI_PCIX_STATUS_RESERVED 0xc0000000#define PCI_PCIX_SIZEOF 4/* PCI-X Bridges */#define PCI_PCIX_BRIDGE_SEC_STATUS 2 /* Secondary bus status register offset */#define PCI_PCIX_BRIDGE_SEC_STATUS_64BIT 0x0001#define PCI_PCIX_BRIDGE_SEC_STATUS_133MHZ 0x0002#define PCI_PCIX_BRIDGE_SEC_STATUS_SC_DISCARDED 0x0004 /* Split Completion Discarded on secondary bus */#define PCI_PCIX_BRIDGE_SEC_STATUS_UNEXPECTED_SC 0x0008 /* Unexpected Split Completion on secondary bus */#define PCI_PCIX_BRIDGE_SEC_STATUS_SC_OVERRUN 0x0010 /* Split Completion Overrun on secondary bus */#define PCI_PCIX_BRIDGE_SEC_STATUS_SPLIT_REQUEST_DELAYED 0x0020#define PCI_PCIX_BRIDGE_SEC_STATUS_CLOCK_FREQ 0x01c0#define PCI_PCIX_BRIDGE_SEC_STATUS_RESERVED 0xfe00#define PCI_PCIX_BRIDGE_STATUS 4 /* Primary bus status register offset */#define PCI_PCIX_BRIDGE_STATUS_FUNCTION 0x00000007#define PCI_PCIX_BRIDGE_STATUS_DEVICE 0x000000f8#define PCI_PCIX_BRIDGE_STATUS_BUS 0x0000ff00#define PCI_PCIX_BRIDGE_STATUS_64BIT 0x00010000#define PCI_PCIX_BRIDGE_STATUS_133MHZ 0x00020000#define PCI_PCIX_BRIDGE_STATUS_SC_DISCARDED 0x00040000 /* Split Completion Discarded */#define PCI_PCIX_BRIDGE_STATUS_UNEXPECTED_SC 0x00080000 /* Unexpected Split Completion */#define PCI_PCIX_BRIDGE_STATUS_SC_OVERRUN 0x00100000 /* Split Completion Overrun */#define PCI_PCIX_BRIDGE_STATUS_SPLIT_REQUEST_DELAYED 0x00200000#define PCI_PCIX_BRIDGE_STATUS_RESERVED 0xffc00000#define PCI_PCIX_BRIDGE_UPSTREAM_SPLIT_TRANS_CTRL 8 /* Upstream Split Transaction Register offset */#define PCI_PCIX_BRIDGE_DOWNSTREAM_SPLIT_TRANS_CTRL 12 /* Downstream Split Transaction Register offset */#define PCI_PCIX_BRIDGE_STR_CAPACITY 0x0000ffff#define PCI_PCIX_BRIDGE_STR_COMMITMENT_LIMIT 0xffff0000#define PCI_PCIX_BRIDGE_SIZEOF 12/* * 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_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_OTHER 0x0280#define PCI_BASE_CLASS_DISPLAY 0x03#define PCI_CLASS_DISPLAY_VGA 0x0300#define PCI_CLASS_DISPLAY_XGA 0x0301#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_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_OTHER 0x0680#define PCI_BASE_CLASS_COMMUNICATION 0x07#define PCI_CLASS_COMMUNICATION_SERIAL 0x0700#define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701#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_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_OTHER 0x0980#define PCI_BASE_CLASS_DOCKING 0x0a#define PCI_CLASS_DOCKING_GENERIC 0x0a00#define PCI_CLASS_DOCKING_OTHER 0x0a01#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_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_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 + -