File indexing completed on 2025-05-11 08:24:12
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 #ifndef __PCI_REG_H__
0036 #define __PCI_REG_H__
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 #define PCI_DOMAINMAX 65535
0052 #define PCI_BUSMAX 255
0053 #define PCI_SLOTMAX 31
0054 #define PCI_FUNCMAX 7
0055 #define PCI_REGMAX 255
0056 #define PCIE_REGMAX 4095
0057 #define PCI_MAXHDRTYPE 2
0058
0059 #define PCIE_ARI_SLOTMAX 0
0060 #define PCIE_ARI_FUNCMAX 255
0061
0062 #define PCI_RID_BUS_SHIFT 8
0063 #define PCI_RID_SLOT_SHIFT 3
0064 #define PCI_RID_FUNC_SHIFT 0
0065
0066 #define PCI_RID(bus, slot, func) \
0067 ((((bus) & PCI_BUSMAX) << PCI_RID_BUS_SHIFT) | \
0068 (((slot) & PCI_SLOTMAX) << PCI_RID_SLOT_SHIFT) | \
0069 (((func) & PCI_FUNCMAX) << PCI_RID_FUNC_SHIFT))
0070
0071 #define PCI_ARI_RID(bus, func) \
0072 ((((bus) & PCI_BUSMAX) << PCI_RID_BUS_SHIFT) | \
0073 (((func) & PCIE_ARI_FUNCMAX) << PCI_RID_FUNC_SHIFT))
0074
0075 #define PCI_RID2BUS(rid) (((rid) >> PCI_RID_BUS_SHIFT) & PCI_BUSMAX)
0076 #define PCI_RID2SLOT(rid) (((rid) >> PCI_RID_SLOT_SHIFT) & PCI_SLOTMAX)
0077 #define PCI_RID2FUNC(rid) (((rid) >> PCI_RID_FUNC_SHIFT) & PCI_FUNCMAX)
0078
0079 #define PCIE_ARI_SLOT(func) (((func) >> PCI_RID_SLOT_SHIFT) & PCI_SLOTMAX)
0080 #define PCIE_ARI_FUNC(func) (((func) >> PCI_RID_FUNC_SHIFT) & PCI_FUNCMAX)
0081
0082
0083
0084 #define PCIR_DEVVENDOR 0x00
0085 #define PCIR_VENDOR 0x00
0086 #define PCIR_DEVICE 0x02
0087 #define PCIR_COMMAND 0x04
0088 #define PCIM_CMD_PORTEN 0x0001
0089 #define PCIM_CMD_MEMEN 0x0002
0090 #define PCIM_CMD_BUSMASTEREN 0x0004
0091 #define PCIM_CMD_SPECIALEN 0x0008
0092 #define PCIM_CMD_MWRICEN 0x0010
0093 #define PCIM_CMD_PERRESPEN 0x0040
0094 #define PCIM_CMD_SERRESPEN 0x0100
0095 #define PCIM_CMD_BACKTOBACK 0x0200
0096 #define PCIM_CMD_INTxDIS 0x0400
0097 #define PCIR_STATUS 0x06
0098 #define PCIM_STATUS_INTxSTATE 0x0008
0099 #define PCIM_STATUS_CAPPRESENT 0x0010
0100 #define PCIM_STATUS_66CAPABLE 0x0020
0101 #define PCIM_STATUS_BACKTOBACK 0x0080
0102 #define PCIM_STATUS_MDPERR 0x0100
0103 #define PCIM_STATUS_SEL_FAST 0x0000
0104 #define PCIM_STATUS_SEL_MEDIMUM 0x0200
0105 #define PCIM_STATUS_SEL_SLOW 0x0400
0106 #define PCIM_STATUS_SEL_MASK 0x0600
0107 #define PCIM_STATUS_STABORT 0x0800
0108 #define PCIM_STATUS_RTABORT 0x1000
0109 #define PCIM_STATUS_RMABORT 0x2000
0110 #define PCIM_STATUS_SERR 0x4000
0111 #define PCIM_STATUS_PERR 0x8000
0112 #define PCIR_REVID 0x08
0113 #define PCIR_PROGIF 0x09
0114 #define PCIR_SUBCLASS 0x0a
0115 #define PCIR_CLASS 0x0b
0116 #define PCIR_CACHELNSZ 0x0c
0117 #define PCIR_LATTIMER 0x0d
0118 #define PCIR_HDRTYPE 0x0e
0119 #define PCIM_HDRTYPE 0x7f
0120 #define PCIM_HDRTYPE_NORMAL 0x00
0121 #define PCIM_HDRTYPE_BRIDGE 0x01
0122 #define PCIM_HDRTYPE_CARDBUS 0x02
0123 #define PCIM_MFDEV 0x80
0124 #define PCIR_BIST 0x0f
0125
0126
0127
0128 #define PCICAP_ID 0x0
0129 #define PCICAP_NEXTPTR 0x1
0130
0131
0132
0133 #define PCIY_PMG 0x01
0134 #define PCIY_AGP 0x02
0135 #define PCIY_VPD 0x03
0136 #define PCIY_SLOTID 0x04
0137 #define PCIY_MSI 0x05
0138 #define PCIY_CHSWP 0x06
0139 #define PCIY_PCIX 0x07
0140 #define PCIY_HT 0x08
0141 #define PCIY_VENDOR 0x09
0142 #define PCIY_DEBUG 0x0a
0143 #define PCIY_CRES 0x0b
0144 #define PCIY_HOTPLUG 0x0c
0145 #define PCIY_SUBVENDOR 0x0d
0146 #define PCIY_AGP8X 0x0e
0147 #define PCIY_SECDEV 0x0f
0148 #define PCIY_EXPRESS 0x10
0149 #define PCIY_MSIX 0x11
0150 #define PCIY_SATA 0x12
0151 #define PCIY_PCIAF 0x13
0152
0153
0154
0155 #define PCIR_EXTCAP 0x100
0156 #define PCIM_EXTCAP_ID 0x0000ffff
0157 #define PCIM_EXTCAP_VER 0x000f0000
0158 #define PCIM_EXTCAP_NEXTPTR 0xfff00000
0159 #define PCI_EXTCAP_ID(ecap) ((ecap) & PCIM_EXTCAP_ID)
0160 #define PCI_EXTCAP_VER(ecap) (((ecap) & PCIM_EXTCAP_VER) >> 16)
0161 #define PCI_EXTCAP_NEXTPTR(ecap) (((ecap) & PCIM_EXTCAP_NEXTPTR) >> 20)
0162
0163
0164
0165 #define PCIZ_AER 0x0001
0166 #define PCIZ_VC 0x0002
0167 #define PCIZ_SERNUM 0x0003
0168 #define PCIZ_PWRBDGT 0x0004
0169 #define PCIZ_RCLINK_DCL 0x0005
0170 #define PCIZ_RCLINK_CTL 0x0006
0171 #define PCIZ_RCEC_ASSOC 0x0007
0172 #define PCIZ_MFVC 0x0008
0173 #define PCIZ_VC2 0x0009
0174 #define PCIZ_RCRB 0x000a
0175 #define PCIZ_VENDOR 0x000b
0176 #define PCIZ_CAC 0x000c
0177 #define PCIZ_ACS 0x000d
0178 #define PCIZ_ARI 0x000e
0179 #define PCIZ_ATS 0x000f
0180 #define PCIZ_SRIOV 0x0010
0181 #define PCIZ_MRIOV 0x0011
0182 #define PCIZ_MULTICAST 0x0012
0183 #define PCIZ_PAGE_REQ 0x0013
0184 #define PCIZ_AMD 0x0014
0185 #define PCIZ_RESIZE_BAR 0x0015
0186 #define PCIZ_DPA 0x0016
0187 #define PCIZ_TPH_REQ 0x0017
0188 #define PCIZ_LTR 0x0018
0189 #define PCIZ_SEC_PCIE 0x0019
0190 #define PCIZ_PMUX 0x001a
0191 #define PCIZ_PASID 0x001b
0192 #define PCIZ_LN_REQ 0x001c
0193 #define PCIZ_DPC 0x001d
0194 #define PCIZ_L1PM 0x001e
0195
0196
0197
0198 #define PCIR_BARS 0x10
0199 #define PCIR_BAR(x) (PCIR_BARS + (x) * 4)
0200 #define PCIR_MAX_BAR_0 5
0201 #define PCI_RID2BAR(rid) (((rid) - PCIR_BARS) / 4)
0202 #define PCI_BAR_IO(x) (((x) & PCIM_BAR_SPACE) == PCIM_BAR_IO_SPACE)
0203 #define PCI_BAR_MEM(x) (((x) & PCIM_BAR_SPACE) == PCIM_BAR_MEM_SPACE)
0204 #define PCIM_BAR_SPACE 0x00000001
0205 #define PCIM_BAR_MEM_SPACE 0
0206 #define PCIM_BAR_IO_SPACE 1
0207 #define PCIM_BAR_MEM_TYPE 0x00000006
0208 #define PCIM_BAR_MEM_32 0
0209 #define PCIM_BAR_MEM_1MB 2
0210 #define PCIM_BAR_MEM_64 4
0211 #define PCIM_BAR_MEM_PREFETCH 0x00000008
0212 #define PCIM_BAR_MEM_BASE 0xfffffffffffffff0ULL
0213 #define PCIM_BAR_IO_RESERVED 0x00000002
0214 #define PCIM_BAR_IO_BASE 0xfffffffc
0215 #define PCIR_CIS 0x28
0216 #define PCIM_CIS_ASI_MASK 0x00000007
0217 #define PCIM_CIS_ASI_CONFIG 0
0218 #define PCIM_CIS_ASI_BAR0 1
0219 #define PCIM_CIS_ASI_BAR1 2
0220 #define PCIM_CIS_ASI_BAR2 3
0221 #define PCIM_CIS_ASI_BAR3 4
0222 #define PCIM_CIS_ASI_BAR4 5
0223 #define PCIM_CIS_ASI_BAR5 6
0224 #define PCIM_CIS_ASI_ROM 7
0225 #define PCIM_CIS_ADDR_MASK 0x0ffffff8
0226 #define PCIM_CIS_ROM_MASK 0xf0000000
0227 #define PCIM_CIS_CONFIG_MASK 0xff
0228 #define PCIR_SUBVEND_0 0x2c
0229 #define PCIR_SUBDEV_0 0x2e
0230 #define PCIR_BIOS 0x30
0231 #define PCIM_BIOS_ENABLE 0x01
0232 #define PCIM_BIOS_ADDR_MASK 0xfffff800
0233 #define PCIR_CAP_PTR 0x34
0234 #define PCIR_INTLINE 0x3c
0235 #define PCIR_INTPIN 0x3d
0236 #define PCIR_MINGNT 0x3e
0237 #define PCIR_MAXLAT 0x3f
0238
0239
0240
0241 #define PCIR_MAX_BAR_1 1
0242 #define PCIR_SECSTAT_1 0x1e
0243
0244 #define PCIR_PRIBUS_1 0x18
0245 #define PCIR_SECBUS_1 0x19
0246 #define PCIR_SUBBUS_1 0x1a
0247 #define PCIR_SECLAT_1 0x1b
0248
0249 #define PCIR_IOBASEL_1 0x1c
0250 #define PCIR_IOLIMITL_1 0x1d
0251 #define PCIR_IOBASEH_1 0x30
0252 #define PCIR_IOLIMITH_1 0x32
0253 #define PCIM_BRIO_16 0x0
0254 #define PCIM_BRIO_32 0x1
0255 #define PCIM_BRIO_MASK 0xf
0256
0257 #define PCIR_MEMBASE_1 0x20
0258 #define PCIR_MEMLIMIT_1 0x22
0259
0260 #define PCIR_PMBASEL_1 0x24
0261 #define PCIR_PMLIMITL_1 0x26
0262 #define PCIR_PMBASEH_1 0x28
0263 #define PCIR_PMLIMITH_1 0x2c
0264 #define PCIM_BRPM_32 0x0
0265 #define PCIM_BRPM_64 0x1
0266 #define PCIM_BRPM_MASK 0xf
0267
0268 #define PCIR_BIOS_1 0x38
0269 #define PCIR_BRIDGECTL_1 0x3e
0270
0271
0272
0273 #define PCIR_MAX_BAR_2 0
0274 #define PCIR_CAP_PTR_2 0x14
0275 #define PCIR_SECSTAT_2 0x16
0276
0277 #define PCIR_PRIBUS_2 0x18
0278 #define PCIR_SECBUS_2 0x19
0279 #define PCIR_SUBBUS_2 0x1a
0280 #define PCIR_SECLAT_2 0x1b
0281
0282 #define PCIR_MEMBASE0_2 0x1c
0283 #define PCIR_MEMLIMIT0_2 0x20
0284 #define PCIR_MEMBASE1_2 0x24
0285 #define PCIR_MEMLIMIT1_2 0x28
0286 #define PCIR_IOBASE0_2 0x2c
0287 #define PCIR_IOLIMIT0_2 0x30
0288 #define PCIR_IOBASE1_2 0x34
0289 #define PCIR_IOLIMIT1_2 0x38
0290
0291 #define PCIR_BRIDGECTL_2 0x3e
0292
0293 #define PCIR_SUBVEND_2 0x40
0294 #define PCIR_SUBDEV_2 0x42
0295
0296 #define PCIR_PCCARDIF_2 0x44
0297
0298
0299
0300 #define PCIC_OLD 0x00
0301 #define PCIS_OLD_NONVGA 0x00
0302 #define PCIS_OLD_VGA 0x01
0303
0304 #define PCIC_STORAGE 0x01
0305 #define PCIS_STORAGE_SCSI 0x00
0306 #define PCIS_STORAGE_IDE 0x01
0307 #define PCIP_STORAGE_IDE_MODEPRIM 0x01
0308 #define PCIP_STORAGE_IDE_PROGINDPRIM 0x02
0309 #define PCIP_STORAGE_IDE_MODESEC 0x04
0310 #define PCIP_STORAGE_IDE_PROGINDSEC 0x08
0311 #define PCIP_STORAGE_IDE_MASTERDEV 0x80
0312 #define PCIS_STORAGE_FLOPPY 0x02
0313 #define PCIS_STORAGE_IPI 0x03
0314 #define PCIS_STORAGE_RAID 0x04
0315 #define PCIS_STORAGE_ATA_ADMA 0x05
0316 #define PCIS_STORAGE_SATA 0x06
0317 #define PCIP_STORAGE_SATA_AHCI_1_0 0x01
0318 #define PCIS_STORAGE_SAS 0x07
0319 #define PCIS_STORAGE_NVM 0x08
0320 #define PCIP_STORAGE_NVM_NVMHCI_1_0 0x01
0321 #define PCIP_STORAGE_NVM_ENTERPRISE_NVMHCI_1_0 0x02
0322 #define PCIS_STORAGE_OTHER 0x80
0323
0324 #define PCIC_NETWORK 0x02
0325 #define PCIS_NETWORK_ETHERNET 0x00
0326 #define PCIS_NETWORK_TOKENRING 0x01
0327 #define PCIS_NETWORK_FDDI 0x02
0328 #define PCIS_NETWORK_ATM 0x03
0329 #define PCIS_NETWORK_ISDN 0x04
0330 #define PCIS_NETWORK_WORLDFIP 0x05
0331 #define PCIS_NETWORK_PICMG 0x06
0332 #define PCIS_NETWORK_OTHER 0x80
0333
0334 #define PCIC_DISPLAY 0x03
0335 #define PCIS_DISPLAY_VGA 0x00
0336 #define PCIS_DISPLAY_XGA 0x01
0337 #define PCIS_DISPLAY_3D 0x02
0338 #define PCIS_DISPLAY_OTHER 0x80
0339
0340 #define PCIC_MULTIMEDIA 0x04
0341 #define PCIS_MULTIMEDIA_VIDEO 0x00
0342 #define PCIS_MULTIMEDIA_AUDIO 0x01
0343 #define PCIS_MULTIMEDIA_TELE 0x02
0344 #define PCIS_MULTIMEDIA_HDA 0x03
0345 #define PCIS_MULTIMEDIA_OTHER 0x80
0346
0347 #define PCIC_MEMORY 0x05
0348 #define PCIS_MEMORY_RAM 0x00
0349 #define PCIS_MEMORY_FLASH 0x01
0350 #define PCIS_MEMORY_OTHER 0x80
0351
0352 #define PCIC_BRIDGE 0x06
0353 #define PCIS_BRIDGE_HOST 0x00
0354 #define PCIS_BRIDGE_ISA 0x01
0355 #define PCIS_BRIDGE_EISA 0x02
0356 #define PCIS_BRIDGE_MCA 0x03
0357 #define PCIS_BRIDGE_PCI 0x04
0358 #define PCIP_BRIDGE_PCI_SUBTRACTIVE 0x01
0359 #define PCIS_BRIDGE_PCMCIA 0x05
0360 #define PCIS_BRIDGE_NUBUS 0x06
0361 #define PCIS_BRIDGE_CARDBUS 0x07
0362 #define PCIS_BRIDGE_RACEWAY 0x08
0363 #define PCIS_BRIDGE_PCI_TRANSPARENT 0x09
0364 #define PCIS_BRIDGE_INFINIBAND 0x0a
0365 #define PCIS_BRIDGE_OTHER 0x80
0366
0367 #define PCIC_SIMPLECOMM 0x07
0368 #define PCIS_SIMPLECOMM_UART 0x00
0369 #define PCIP_SIMPLECOMM_UART_8250 0x00
0370 #define PCIP_SIMPLECOMM_UART_16450A 0x01
0371 #define PCIP_SIMPLECOMM_UART_16550A 0x02
0372 #define PCIP_SIMPLECOMM_UART_16650A 0x03
0373 #define PCIP_SIMPLECOMM_UART_16750A 0x04
0374 #define PCIP_SIMPLECOMM_UART_16850A 0x05
0375 #define PCIP_SIMPLECOMM_UART_16950A 0x06
0376 #define PCIS_SIMPLECOMM_PAR 0x01
0377 #define PCIS_SIMPLECOMM_MULSER 0x02
0378 #define PCIS_SIMPLECOMM_MODEM 0x03
0379 #define PCIS_SIMPLECOMM_GPIB 0x04
0380 #define PCIS_SIMPLECOMM_SMART_CARD 0x05
0381 #define PCIS_SIMPLECOMM_OTHER 0x80
0382
0383 #define PCIC_BASEPERIPH 0x08
0384 #define PCIS_BASEPERIPH_PIC 0x00
0385 #define PCIP_BASEPERIPH_PIC_8259A 0x00
0386 #define PCIP_BASEPERIPH_PIC_ISA 0x01
0387 #define PCIP_BASEPERIPH_PIC_EISA 0x02
0388 #define PCIP_BASEPERIPH_PIC_IO_APIC 0x10
0389 #define PCIP_BASEPERIPH_PIC_IOX_APIC 0x20
0390 #define PCIS_BASEPERIPH_DMA 0x01
0391 #define PCIS_BASEPERIPH_TIMER 0x02
0392 #define PCIS_BASEPERIPH_RTC 0x03
0393 #define PCIS_BASEPERIPH_PCIHOT 0x04
0394 #define PCIS_BASEPERIPH_SDHC 0x05
0395 #define PCIS_BASEPERIPH_IOMMU 0x06
0396 #define PCIS_BASEPERIPH_OTHER 0x80
0397
0398 #define PCIC_INPUTDEV 0x09
0399 #define PCIS_INPUTDEV_KEYBOARD 0x00
0400 #define PCIS_INPUTDEV_DIGITIZER 0x01
0401 #define PCIS_INPUTDEV_MOUSE 0x02
0402 #define PCIS_INPUTDEV_SCANNER 0x03
0403 #define PCIS_INPUTDEV_GAMEPORT 0x04
0404 #define PCIS_INPUTDEV_OTHER 0x80
0405
0406 #define PCIC_DOCKING 0x0a
0407 #define PCIS_DOCKING_GENERIC 0x00
0408 #define PCIS_DOCKING_OTHER 0x80
0409
0410 #define PCIC_PROCESSOR 0x0b
0411 #define PCIS_PROCESSOR_386 0x00
0412 #define PCIS_PROCESSOR_486 0x01
0413 #define PCIS_PROCESSOR_PENTIUM 0x02
0414 #define PCIS_PROCESSOR_ALPHA 0x10
0415 #define PCIS_PROCESSOR_POWERPC 0x20
0416 #define PCIS_PROCESSOR_MIPS 0x30
0417 #define PCIS_PROCESSOR_COPROC 0x40
0418
0419 #define PCIC_SERIALBUS 0x0c
0420 #define PCIS_SERIALBUS_FW 0x00
0421 #define PCIS_SERIALBUS_ACCESS 0x01
0422 #define PCIS_SERIALBUS_SSA 0x02
0423 #define PCIS_SERIALBUS_USB 0x03
0424 #define PCIP_SERIALBUS_USB_UHCI 0x00
0425 #define PCIP_SERIALBUS_USB_OHCI 0x10
0426 #define PCIP_SERIALBUS_USB_EHCI 0x20
0427 #define PCIP_SERIALBUS_USB_XHCI 0x30
0428 #define PCIP_SERIALBUS_USB_DEVICE 0xfe
0429 #define PCIS_SERIALBUS_FC 0x04
0430 #define PCIS_SERIALBUS_SMBUS 0x05
0431 #define PCIS_SERIALBUS_INFINIBAND 0x06
0432 #define PCIS_SERIALBUS_IPMI 0x07
0433 #define PCIP_SERIALBUS_IPMI_SMIC 0x00
0434 #define PCIP_SERIALBUS_IPMI_KCS 0x01
0435 #define PCIP_SERIALBUS_IPMI_BT 0x02
0436 #define PCIS_SERIALBUS_SERCOS 0x08
0437 #define PCIS_SERIALBUS_CANBUS 0x09
0438
0439 #define PCIC_WIRELESS 0x0d
0440 #define PCIS_WIRELESS_IRDA 0x00
0441 #define PCIS_WIRELESS_IR 0x01
0442 #define PCIS_WIRELESS_RF 0x10
0443 #define PCIS_WIRELESS_BLUETOOTH 0x11
0444 #define PCIS_WIRELESS_BROADBAND 0x12
0445 #define PCIS_WIRELESS_80211A 0x20
0446 #define PCIS_WIRELESS_80211B 0x21
0447 #define PCIS_WIRELESS_OTHER 0x80
0448
0449 #define PCIC_INTELLIIO 0x0e
0450 #define PCIS_INTELLIIO_I2O 0x00
0451
0452 #define PCIC_SATCOM 0x0f
0453 #define PCIS_SATCOM_TV 0x01
0454 #define PCIS_SATCOM_AUDIO 0x02
0455 #define PCIS_SATCOM_VOICE 0x03
0456 #define PCIS_SATCOM_DATA 0x04
0457
0458 #define PCIC_CRYPTO 0x10
0459 #define PCIS_CRYPTO_NETCOMP 0x00
0460 #define PCIS_CRYPTO_ENTERTAIN 0x10
0461 #define PCIS_CRYPTO_OTHER 0x80
0462
0463 #define PCIC_DASP 0x11
0464 #define PCIS_DASP_DPIO 0x00
0465 #define PCIS_DASP_PERFCNTRS 0x01
0466 #define PCIS_DASP_COMM_SYNC 0x10
0467 #define PCIS_DASP_MGMT_CARD 0x20
0468 #define PCIS_DASP_OTHER 0x80
0469
0470 #define PCIC_OTHER 0xff
0471
0472
0473 #define PCIB_BCR_PERR_ENABLE 0x0001
0474 #define PCIB_BCR_SERR_ENABLE 0x0002
0475 #define PCIB_BCR_ISA_ENABLE 0x0004
0476 #define PCIB_BCR_VGA_ENABLE 0x0008
0477 #define PCIB_BCR_MASTER_ABORT_MODE 0x0020
0478 #define PCIB_BCR_SECBUS_RESET 0x0040
0479 #define PCIB_BCR_SECBUS_BACKTOBACK 0x0080
0480 #define PCIB_BCR_PRI_DISCARD_TIMEOUT 0x0100
0481 #define PCIB_BCR_SEC_DISCARD_TIMEOUT 0x0200
0482 #define PCIB_BCR_DISCARD_TIMER_STATUS 0x0400
0483 #define PCIB_BCR_DISCARD_TIMER_SERREN 0x0800
0484
0485
0486 #define PCIR_POWER_CAP 0x2
0487 #define PCIM_PCAP_SPEC 0x0007
0488 #define PCIM_PCAP_PMEREQCLK 0x0008
0489 #define PCIM_PCAP_DEVSPECINIT 0x0020
0490 #define PCIM_PCAP_AUXPWR_0 0x0000
0491 #define PCIM_PCAP_AUXPWR_55 0x0040
0492 #define PCIM_PCAP_AUXPWR_100 0x0080
0493 #define PCIM_PCAP_AUXPWR_160 0x00c0
0494 #define PCIM_PCAP_AUXPWR_220 0x0100
0495 #define PCIM_PCAP_AUXPWR_270 0x0140
0496 #define PCIM_PCAP_AUXPWR_320 0x0180
0497 #define PCIM_PCAP_AUXPWR_375 0x01c0
0498 #define PCIM_PCAP_AUXPWRMASK 0x01c0
0499 #define PCIM_PCAP_D1SUPP 0x0200
0500 #define PCIM_PCAP_D2SUPP 0x0400
0501 #define PCIM_PCAP_D0PME 0x0800
0502 #define PCIM_PCAP_D1PME 0x1000
0503 #define PCIM_PCAP_D2PME 0x2000
0504 #define PCIM_PCAP_D3PME_HOT 0x4000
0505 #define PCIM_PCAP_D3PME_COLD 0x8000
0506
0507 #define PCIR_POWER_STATUS 0x4
0508 #define PCIM_PSTAT_D0 0x0000
0509 #define PCIM_PSTAT_D1 0x0001
0510 #define PCIM_PSTAT_D2 0x0002
0511 #define PCIM_PSTAT_D3 0x0003
0512 #define PCIM_PSTAT_DMASK 0x0003
0513 #define PCIM_PSTAT_NOSOFTRESET 0x0008
0514 #define PCIM_PSTAT_PMEENABLE 0x0100
0515 #define PCIM_PSTAT_D0POWER 0x0000
0516 #define PCIM_PSTAT_D1POWER 0x0200
0517 #define PCIM_PSTAT_D2POWER 0x0400
0518 #define PCIM_PSTAT_D3POWER 0x0600
0519 #define PCIM_PSTAT_D0HEAT 0x0800
0520 #define PCIM_PSTAT_D1HEAT 0x0a00
0521 #define PCIM_PSTAT_D2HEAT 0x0c00
0522 #define PCIM_PSTAT_D3HEAT 0x0e00
0523 #define PCIM_PSTAT_DATASELMASK 0x1e00
0524 #define PCIM_PSTAT_DATAUNKN 0x0000
0525 #define PCIM_PSTAT_DATADIV10 0x2000
0526 #define PCIM_PSTAT_DATADIV100 0x4000
0527 #define PCIM_PSTAT_DATADIV1000 0x6000
0528 #define PCIM_PSTAT_DATADIVMASK 0x6000
0529 #define PCIM_PSTAT_PME 0x8000
0530
0531 #define PCIR_POWER_BSE 0x6
0532 #define PCIM_PMCSR_BSE_D3B3 0x00
0533 #define PCIM_PMCSR_BSE_D3B2 0x40
0534 #define PCIM_PMCSR_BSE_BPCCE 0x80
0535
0536 #define PCIR_POWER_DATA 0x7
0537
0538
0539 #define PCIR_VPD_ADDR 0x2
0540 #define PCIR_VPD_DATA 0x4
0541
0542
0543 #define PCIR_MSI_CTRL 0x2
0544 #define PCIM_MSICTRL_VECTOR 0x0100
0545 #define PCIM_MSICTRL_64BIT 0x0080
0546 #define PCIM_MSICTRL_MME_MASK 0x0070
0547 #define PCIM_MSICTRL_MME_1 0x0000
0548 #define PCIM_MSICTRL_MME_2 0x0010
0549 #define PCIM_MSICTRL_MME_4 0x0020
0550 #define PCIM_MSICTRL_MME_8 0x0030
0551 #define PCIM_MSICTRL_MME_16 0x0040
0552 #define PCIM_MSICTRL_MME_32 0x0050
0553 #define PCIM_MSICTRL_MMC_MASK 0x000E
0554 #define PCIM_MSICTRL_MMC_1 0x0000
0555 #define PCIM_MSICTRL_MMC_2 0x0002
0556 #define PCIM_MSICTRL_MMC_4 0x0004
0557 #define PCIM_MSICTRL_MMC_8 0x0006
0558 #define PCIM_MSICTRL_MMC_16 0x0008
0559 #define PCIM_MSICTRL_MMC_32 0x000A
0560 #define PCIM_MSICTRL_MSI_ENABLE 0x0001
0561 #define PCIR_MSI_ADDR 0x4
0562 #define PCIR_MSI_ADDR_HIGH 0x8
0563 #define PCIR_MSI_DATA 0x8
0564 #define PCIR_MSI_DATA_64BIT 0xc
0565 #define PCIR_MSI_MASK 0x10
0566 #define PCIR_MSI_PENDING 0x14
0567
0568
0569
0570
0571 #define PCIXR_COMMAND 0x2
0572 #define PCIXM_COMMAND_DPERR_E 0x0001
0573 #define PCIXM_COMMAND_ERO 0x0002
0574 #define PCIXM_COMMAND_MAX_READ 0x000c
0575 #define PCIXM_COMMAND_MAX_READ_512 0x0000
0576 #define PCIXM_COMMAND_MAX_READ_1024 0x0004
0577 #define PCIXM_COMMAND_MAX_READ_2048 0x0008
0578 #define PCIXM_COMMAND_MAX_READ_4096 0x000c
0579 #define PCIXM_COMMAND_MAX_SPLITS 0x0070
0580 #define PCIXM_COMMAND_MAX_SPLITS_1 0x0000
0581 #define PCIXM_COMMAND_MAX_SPLITS_2 0x0010
0582 #define PCIXM_COMMAND_MAX_SPLITS_3 0x0020
0583 #define PCIXM_COMMAND_MAX_SPLITS_4 0x0030
0584 #define PCIXM_COMMAND_MAX_SPLITS_8 0x0040
0585 #define PCIXM_COMMAND_MAX_SPLITS_12 0x0050
0586 #define PCIXM_COMMAND_MAX_SPLITS_16 0x0060
0587 #define PCIXM_COMMAND_MAX_SPLITS_32 0x0070
0588 #define PCIXM_COMMAND_VERSION 0x3000
0589 #define PCIXR_STATUS 0x4
0590 #define PCIXM_STATUS_DEVFN 0x000000FF
0591 #define PCIXM_STATUS_BUS 0x0000FF00
0592 #define PCIXM_STATUS_64BIT 0x00010000
0593 #define PCIXM_STATUS_133CAP 0x00020000
0594 #define PCIXM_STATUS_SC_DISCARDED 0x00040000
0595 #define PCIXM_STATUS_UNEXP_SC 0x00080000
0596 #define PCIXM_STATUS_COMPLEX_DEV 0x00100000
0597 #define PCIXM_STATUS_MAX_READ 0x00600000
0598 #define PCIXM_STATUS_MAX_READ_512 0x00000000
0599 #define PCIXM_STATUS_MAX_READ_1024 0x00200000
0600 #define PCIXM_STATUS_MAX_READ_2048 0x00400000
0601 #define PCIXM_STATUS_MAX_READ_4096 0x00600000
0602 #define PCIXM_STATUS_MAX_SPLITS 0x03800000
0603 #define PCIXM_STATUS_MAX_SPLITS_1 0x00000000
0604 #define PCIXM_STATUS_MAX_SPLITS_2 0x00800000
0605 #define PCIXM_STATUS_MAX_SPLITS_3 0x01000000
0606 #define PCIXM_STATUS_MAX_SPLITS_4 0x01800000
0607 #define PCIXM_STATUS_MAX_SPLITS_8 0x02000000
0608 #define PCIXM_STATUS_MAX_SPLITS_12 0x02800000
0609 #define PCIXM_STATUS_MAX_SPLITS_16 0x03000000
0610 #define PCIXM_STATUS_MAX_SPLITS_32 0x03800000
0611 #define PCIXM_STATUS_MAX_CUM_READ 0x1C000000
0612 #define PCIXM_STATUS_RCVD_SC_ERR 0x20000000
0613 #define PCIXM_STATUS_266CAP 0x40000000
0614 #define PCIXM_STATUS_533CAP 0x80000000
0615
0616
0617 #define PCIXR_SEC_STATUS 0x2
0618 #define PCIXM_SEC_STATUS_64BIT 0x0001
0619 #define PCIXM_SEC_STATUS_133CAP 0x0002
0620 #define PCIXM_SEC_STATUS_SC_DISC 0x0004
0621 #define PCIXM_SEC_STATUS_UNEXP_SC 0x0008
0622 #define PCIXM_SEC_STATUS_SC_OVERRUN 0x0010
0623 #define PCIXM_SEC_STATUS_SR_DELAYED 0x0020
0624 #define PCIXM_SEC_STATUS_BUS_MODE 0x03c0
0625 #define PCIXM_SEC_STATUS_VERSION 0x3000
0626 #define PCIXM_SEC_STATUS_266CAP 0x4000
0627 #define PCIXM_SEC_STATUS_533CAP 0x8000
0628 #define PCIXR_BRIDGE_STATUS 0x4
0629 #define PCIXM_BRIDGE_STATUS_DEVFN 0x000000FF
0630 #define PCIXM_BRIDGE_STATUS_BUS 0x0000FF00
0631 #define PCIXM_BRIDGE_STATUS_64BIT 0x00010000
0632 #define PCIXM_BRIDGE_STATUS_133CAP 0x00020000
0633 #define PCIXM_BRIDGE_STATUS_SC_DISCARDED 0x00040000
0634 #define PCIXM_BRIDGE_STATUS_UNEXP_SC 0x00080000
0635 #define PCIXM_BRIDGE_STATUS_SC_OVERRUN 0x00100000
0636 #define PCIXM_BRIDGE_STATUS_SR_DELAYED 0x00200000
0637 #define PCIXM_BRIDGE_STATUS_DEVID_MSGCAP 0x20000000
0638 #define PCIXM_BRIDGE_STATUS_266CAP 0x40000000
0639 #define PCIXM_BRIDGE_STATUS_533CAP 0x80000000
0640
0641
0642 #define PCIR_HT_COMMAND 0x2
0643 #define PCIM_HTCMD_CAP_MASK 0xf800
0644 #define PCIM_HTCAP_SLAVE 0x0000
0645 #define PCIM_HTCAP_HOST 0x2000
0646 #define PCIM_HTCAP_SWITCH 0x4000
0647 #define PCIM_HTCAP_INTERRUPT 0x8000
0648 #define PCIM_HTCAP_REVISION_ID 0x8800
0649 #define PCIM_HTCAP_UNITID_CLUMPING 0x9000
0650 #define PCIM_HTCAP_EXT_CONFIG_SPACE 0x9800
0651 #define PCIM_HTCAP_ADDRESS_MAPPING 0xa000
0652 #define PCIM_HTCAP_MSI_MAPPING 0xa800
0653 #define PCIM_HTCAP_DIRECT_ROUTE 0xb000
0654 #define PCIM_HTCAP_VCSET 0xb800
0655 #define PCIM_HTCAP_RETRY_MODE 0xc000
0656 #define PCIM_HTCAP_X86_ENCODING 0xc800
0657 #define PCIM_HTCAP_GEN3 0xd000
0658 #define PCIM_HTCAP_FLE 0xd800
0659 #define PCIM_HTCAP_PM 0xe000
0660 #define PCIM_HTCAP_HIGH_NODE_COUNT 0xe800
0661
0662
0663 #define PCIM_HTCMD_MSI_ENABLE 0x0001
0664 #define PCIM_HTCMD_MSI_FIXED 0x0002
0665 #define PCIR_HTMSI_ADDRESS_LO 0x4
0666 #define PCIR_HTMSI_ADDRESS_HI 0x8
0667
0668
0669 #define PCIR_VENDOR_LENGTH 0x2
0670 #define PCIR_VENDOR_DATA 0x3
0671
0672
0673 #define PCIR_DEBUG_PORT 0x2
0674 #define PCIM_DEBUG_PORT_OFFSET 0x1FFF
0675 #define PCIM_DEBUG_PORT_BAR 0xe000
0676
0677
0678 #define PCIR_SUBVENDCAP_ID 0x4
0679
0680
0681 #define PCIER_FLAGS 0x2
0682 #define PCIEM_FLAGS_VERSION 0x000F
0683 #define PCIEM_FLAGS_TYPE 0x00F0
0684 #define PCIEM_TYPE_ENDPOINT 0x0000
0685 #define PCIEM_TYPE_LEGACY_ENDPOINT 0x0010
0686 #define PCIEM_TYPE_ROOT_PORT 0x0040
0687 #define PCIEM_TYPE_UPSTREAM_PORT 0x0050
0688 #define PCIEM_TYPE_DOWNSTREAM_PORT 0x0060
0689 #define PCIEM_TYPE_PCI_BRIDGE 0x0070
0690 #define PCIEM_TYPE_PCIE_BRIDGE 0x0080
0691 #define PCIEM_TYPE_ROOT_INT_EP 0x0090
0692 #define PCIEM_TYPE_ROOT_EC 0x00a0
0693 #define PCIEM_FLAGS_SLOT 0x0100
0694 #define PCIEM_FLAGS_IRQ 0x3e00
0695 #define PCIER_DEVICE_CAP 0x4
0696 #define PCIEM_CAP_MAX_PAYLOAD 0x00000007
0697 #define PCIEM_CAP_PHANTHOM_FUNCS 0x00000018
0698 #define PCIEM_CAP_EXT_TAG_FIELD 0x00000020
0699 #define PCIEM_CAP_L0S_LATENCY 0x000001c0
0700 #define PCIEM_CAP_L1_LATENCY 0x00000e00
0701 #define PCIEM_CAP_ROLE_ERR_RPT 0x00008000
0702 #define PCIEM_CAP_SLOT_PWR_LIM_VAL 0x03fc0000
0703 #define PCIEM_CAP_SLOT_PWR_LIM_SCALE 0x0c000000
0704 #define PCIEM_CAP_FLR 0x10000000
0705 #define PCIER_DEVICE_CTL 0x8
0706 #define PCIEM_CTL_COR_ENABLE 0x0001
0707 #define PCIEM_CTL_NFER_ENABLE 0x0002
0708 #define PCIEM_CTL_FER_ENABLE 0x0004
0709 #define PCIEM_CTL_URR_ENABLE 0x0008
0710 #define PCIEM_CTL_RELAXED_ORD_ENABLE 0x0010
0711 #define PCIEM_CTL_MAX_PAYLOAD 0x00e0
0712 #define PCIEM_CTL_EXT_TAG_FIELD 0x0100
0713 #define PCIEM_CTL_PHANTHOM_FUNCS 0x0200
0714 #define PCIEM_CTL_AUX_POWER_PM 0x0400
0715 #define PCIEM_CTL_NOSNOOP_ENABLE 0x0800
0716 #define PCIEM_CTL_MAX_READ_REQUEST 0x7000
0717 #define PCIEM_CTL_BRDG_CFG_RETRY 0x8000
0718 #define PCIEM_CTL_INITIATE_FLR 0x8000
0719 #define PCIER_DEVICE_STA 0xa
0720 #define PCIEM_STA_CORRECTABLE_ERROR 0x0001
0721 #define PCIEM_STA_NON_FATAL_ERROR 0x0002
0722 #define PCIEM_STA_FATAL_ERROR 0x0004
0723 #define PCIEM_STA_UNSUPPORTED_REQ 0x0008
0724 #define PCIEM_STA_AUX_POWER 0x0010
0725 #define PCIEM_STA_TRANSACTION_PND 0x0020
0726 #define PCIER_LINK_CAP 0xc
0727 #define PCIEM_LINK_CAP_MAX_SPEED 0x0000000f
0728 #define PCIEM_LINK_CAP_MAX_WIDTH 0x000003f0
0729 #define PCIEM_LINK_CAP_ASPM 0x00000c00
0730 #define PCIEM_LINK_CAP_L0S_EXIT 0x00007000
0731 #define PCIEM_LINK_CAP_L1_EXIT 0x00038000
0732 #define PCIEM_LINK_CAP_CLOCK_PM 0x00040000
0733 #define PCIEM_LINK_CAP_SURPRISE_DOWN 0x00080000
0734 #define PCIEM_LINK_CAP_DL_ACTIVE 0x00100000
0735 #define PCIEM_LINK_CAP_LINK_BW_NOTIFY 0x00200000
0736 #define PCIEM_LINK_CAP_ASPM_COMPLIANCE 0x00400000
0737 #define PCIEM_LINK_CAP_PORT 0xff000000
0738 #define PCIER_LINK_CTL 0x10
0739 #define PCIEM_LINK_CTL_ASPMC_DIS 0x0000
0740 #define PCIEM_LINK_CTL_ASPMC_L0S 0x0001
0741 #define PCIEM_LINK_CTL_ASPMC_L1 0x0002
0742 #define PCIEM_LINK_CTL_ASPMC 0x0003
0743 #define PCIEM_LINK_CTL_RCB 0x0008
0744 #define PCIEM_LINK_CTL_LINK_DIS 0x0010
0745 #define PCIEM_LINK_CTL_RETRAIN_LINK 0x0020
0746 #define PCIEM_LINK_CTL_COMMON_CLOCK 0x0040
0747 #define PCIEM_LINK_CTL_EXTENDED_SYNC 0x0080
0748 #define PCIEM_LINK_CTL_ECPM 0x0100
0749 #define PCIEM_LINK_CTL_HAWD 0x0200
0750 #define PCIEM_LINK_CTL_LBMIE 0x0400
0751 #define PCIEM_LINK_CTL_LABIE 0x0800
0752 #define PCIER_LINK_STA 0x12
0753 #define PCIEM_LINK_STA_SPEED 0x000f
0754 #define PCIEM_LINK_STA_WIDTH 0x03f0
0755 #define PCIEM_LINK_STA_TRAINING_ERROR 0x0400
0756 #define PCIEM_LINK_STA_TRAINING 0x0800
0757 #define PCIEM_LINK_STA_SLOT_CLOCK 0x1000
0758 #define PCIEM_LINK_STA_DL_ACTIVE 0x2000
0759 #define PCIEM_LINK_STA_LINK_BW_MGMT 0x4000
0760 #define PCIEM_LINK_STA_LINK_AUTO_BW 0x8000
0761 #define PCIER_SLOT_CAP 0x14
0762 #define PCIEM_SLOT_CAP_APB 0x00000001
0763 #define PCIEM_SLOT_CAP_PCP 0x00000002
0764 #define PCIEM_SLOT_CAP_MRLSP 0x00000004
0765 #define PCIEM_SLOT_CAP_AIP 0x00000008
0766 #define PCIEM_SLOT_CAP_PIP 0x00000010
0767 #define PCIEM_SLOT_CAP_HPS 0x00000020
0768 #define PCIEM_SLOT_CAP_HPC 0x00000040
0769 #define PCIEM_SLOT_CAP_SPLV 0x00007f80
0770 #define PCIEM_SLOT_CAP_SPLS 0x00018000
0771 #define PCIEM_SLOT_CAP_EIP 0x00020000
0772 #define PCIEM_SLOT_CAP_NCCS 0x00040000
0773 #define PCIEM_SLOT_CAP_PSN 0xfff80000
0774 #define PCIER_SLOT_CTL 0x18
0775 #define PCIEM_SLOT_CTL_ABPE 0x0001
0776 #define PCIEM_SLOT_CTL_PFDE 0x0002
0777 #define PCIEM_SLOT_CTL_MRLSCE 0x0004
0778 #define PCIEM_SLOT_CTL_PDCE 0x0008
0779 #define PCIEM_SLOT_CTL_CCIE 0x0010
0780 #define PCIEM_SLOT_CTL_HPIE 0x0020
0781 #define PCIEM_SLOT_CTL_AIC 0x00c0
0782 #define PCIEM_SLOT_CTL_PIC 0x0300
0783 #define PCIEM_SLOT_CTL_PCC 0x0400
0784 #define PCIEM_SLOT_CTL_EIC 0x0800
0785 #define PCIEM_SLOT_CTL_DLLSCE 0x1000
0786 #define PCIER_SLOT_STA 0x1a
0787 #define PCIEM_SLOT_STA_ABP 0x0001
0788 #define PCIEM_SLOT_STA_PFD 0x0002
0789 #define PCIEM_SLOT_STA_MRLSC 0x0004
0790 #define PCIEM_SLOT_STA_PDC 0x0008
0791 #define PCIEM_SLOT_STA_CC 0x0010
0792 #define PCIEM_SLOT_STA_MRLSS 0x0020
0793 #define PCIEM_SLOT_STA_PDS 0x0040
0794 #define PCIEM_SLOT_STA_EIS 0x0080
0795 #define PCIEM_SLOT_STA_DLLSC 0x0100
0796 #define PCIER_ROOT_CTL 0x1c
0797 #define PCIEM_ROOT_CTL_SERR_CORR 0x0001
0798 #define PCIEM_ROOT_CTL_SERR_NONFATAL 0x0002
0799 #define PCIEM_ROOT_CTL_SERR_FATAL 0x0004
0800 #define PCIEM_ROOT_CTL_PME 0x0008
0801 #define PCIEM_ROOT_CTL_CRS_VIS 0x0010
0802 #define PCIER_ROOT_CAP 0x1e
0803 #define PCIEM_ROOT_CAP_CRS_VIS 0x0001
0804 #define PCIER_ROOT_STA 0x20
0805 #define PCIEM_ROOT_STA_PME_REQID_MASK 0x0000ffff
0806 #define PCIEM_ROOT_STA_PME_STATUS 0x00010000
0807 #define PCIEM_ROOT_STA_PME_PEND 0x00020000
0808 #define PCIER_DEVICE_CAP2 0x24
0809 #define PCIEM_CAP2_ARI 0x20
0810 #define PCIER_DEVICE_CTL2 0x28
0811 #define PCIEM_CTL2_COMP_TIMEOUT_VAL 0x000f
0812 #define PCIEM_CTL2_COMP_TIMEOUT_DIS 0x0010
0813 #define PCIEM_CTL2_ARI 0x0020
0814 #define PCIEM_CTL2_ATOMIC_REQ_ENABLE 0x0040
0815 #define PCIEM_CTL2_ATOMIC_EGR_BLOCK 0x0080
0816 #define PCIEM_CTL2_ID_ORDERED_REQ_EN 0x0100
0817 #define PCIEM_CTL2_ID_ORDERED_CMP_EN 0x0200
0818 #define PCIEM_CTL2_LTR_ENABLE 0x0400
0819 #define PCIEM_CTL2_OBFF 0x6000
0820 #define PCIEM_OBFF_DISABLE 0x0000
0821 #define PCIEM_OBFF_MSGA_ENABLE 0x2000
0822 #define PCIEM_OBFF_MSGB_ENABLE 0x4000
0823 #define PCIEM_OBFF_WAKE_ENABLE 0x6000
0824 #define PCIEM_CTL2_END2END_TLP 0x8000
0825 #define PCIER_DEVICE_STA2 0x2a
0826 #define PCIER_LINK_CAP2 0x2c
0827 #define PCIER_LINK_CTL2 0x30
0828 #define PCIER_LINK_STA2 0x32
0829 #define PCIER_SLOT_CAP2 0x34
0830 #define PCIER_SLOT_CTL2 0x38
0831 #define PCIER_SLOT_STA2 0x3a
0832
0833
0834 #define PCIR_MSIX_CTRL 0x2
0835 #define PCIM_MSIXCTRL_MSIX_ENABLE 0x8000
0836 #define PCIM_MSIXCTRL_FUNCTION_MASK 0x4000
0837 #define PCIM_MSIXCTRL_TABLE_SIZE 0x07FF
0838 #define PCIR_MSIX_TABLE 0x4
0839 #define PCIR_MSIX_PBA 0x8
0840 #define PCIM_MSIX_BIR_MASK 0x7
0841 #define PCIM_MSIX_BIR_BAR_10 0
0842 #define PCIM_MSIX_BIR_BAR_14 1
0843 #define PCIM_MSIX_BIR_BAR_18 2
0844 #define PCIM_MSIX_BIR_BAR_1C 3
0845 #define PCIM_MSIX_BIR_BAR_20 4
0846 #define PCIM_MSIX_BIR_BAR_24 5
0847 #define PCIM_MSIX_VCTRL_MASK 0x1
0848
0849
0850 #define PCIR_PCIAF_CAP 0x3
0851 #define PCIM_PCIAFCAP_TP 0x01
0852 #define PCIM_PCIAFCAP_FLR 0x02
0853 #define PCIR_PCIAF_CTRL 0x4
0854 #define PCIR_PCIAFCTRL_FLR 0x01
0855 #define PCIR_PCIAF_STATUS 0x5
0856 #define PCIR_PCIAFSTATUS_TP 0x01
0857
0858
0859 #define PCIR_AER_UC_STATUS 0x04
0860 #define PCIM_AER_UC_TRAINING_ERROR 0x00000001
0861 #define PCIM_AER_UC_DL_PROTOCOL_ERROR 0x00000010
0862 #define PCIM_AER_UC_SURPRISE_LINK_DOWN 0x00000020
0863 #define PCIM_AER_UC_POISONED_TLP 0x00001000
0864 #define PCIM_AER_UC_FC_PROTOCOL_ERROR 0x00002000
0865 #define PCIM_AER_UC_COMPLETION_TIMEOUT 0x00004000
0866 #define PCIM_AER_UC_COMPLETER_ABORT 0x00008000
0867 #define PCIM_AER_UC_UNEXPECTED_COMPLETION 0x00010000
0868 #define PCIM_AER_UC_RECEIVER_OVERFLOW 0x00020000
0869 #define PCIM_AER_UC_MALFORMED_TLP 0x00040000
0870 #define PCIM_AER_UC_ECRC_ERROR 0x00080000
0871 #define PCIM_AER_UC_UNSUPPORTED_REQUEST 0x00100000
0872 #define PCIM_AER_UC_ACS_VIOLATION 0x00200000
0873 #define PCIM_AER_UC_INTERNAL_ERROR 0x00400000
0874 #define PCIM_AER_UC_MC_BLOCKED_TLP 0x00800000
0875 #define PCIM_AER_UC_ATOMIC_EGRESS_BLK 0x01000000
0876 #define PCIM_AER_UC_TLP_PREFIX_BLOCKED 0x02000000
0877 #define PCIR_AER_UC_MASK 0x08
0878 #define PCIR_AER_UC_SEVERITY 0x0c
0879 #define PCIR_AER_COR_STATUS 0x10
0880 #define PCIM_AER_COR_RECEIVER_ERROR 0x00000001
0881 #define PCIM_AER_COR_BAD_TLP 0x00000040
0882 #define PCIM_AER_COR_BAD_DLLP 0x00000080
0883 #define PCIM_AER_COR_REPLAY_ROLLOVER 0x00000100
0884 #define PCIM_AER_COR_REPLAY_TIMEOUT 0x00001000
0885 #define PCIM_AER_COR_ADVISORY_NF_ERROR 0x00002000
0886 #define PCIM_AER_COR_INTERNAL_ERROR 0x00004000
0887 #define PCIM_AER_COR_HEADER_LOG_OVFLOW 0x00008000
0888 #define PCIR_AER_COR_MASK 0x14
0889 #define PCIR_AER_CAP_CONTROL 0x18
0890 #define PCIM_AER_FIRST_ERROR_PTR 0x0000001f
0891 #define PCIM_AER_ECRC_GEN_CAPABLE 0x00000020
0892 #define PCIM_AER_ECRC_GEN_ENABLE 0x00000040
0893 #define PCIM_AER_ECRC_CHECK_CAPABLE 0x00000080
0894 #define PCIM_AER_ECRC_CHECK_ENABLE 0x00000100
0895 #define PCIM_AER_MULT_HDR_CAPABLE 0x00000200
0896 #define PCIM_AER_MULT_HDR_ENABLE 0x00000400
0897 #define PCIM_AER_TLP_PREFIX_LOG_PRESENT 0x00000800
0898 #define PCIR_AER_HEADER_LOG 0x1c
0899 #define PCIR_AER_ROOTERR_CMD 0x2c
0900 #define PCIM_AER_ROOTERR_COR_ENABLE 0x00000001
0901 #define PCIM_AER_ROOTERR_NF_ENABLE 0x00000002
0902 #define PCIM_AER_ROOTERR_F_ENABLE 0x00000004
0903 #define PCIR_AER_ROOTERR_STATUS 0x30
0904 #define PCIM_AER_ROOTERR_COR_ERR 0x00000001
0905 #define PCIM_AER_ROOTERR_MULTI_COR_ERR 0x00000002
0906 #define PCIM_AER_ROOTERR_UC_ERR 0x00000004
0907 #define PCIM_AER_ROOTERR_MULTI_UC_ERR 0x00000008
0908 #define PCIM_AER_ROOTERR_FIRST_UC_FATAL 0x00000010
0909 #define PCIM_AER_ROOTERR_NF_ERR 0x00000020
0910 #define PCIM_AER_ROOTERR_F_ERR 0x00000040
0911 #define PCIM_AER_ROOTERR_INT_MESSAGE 0xf8000000
0912 #define PCIR_AER_COR_SOURCE_ID 0x34
0913 #define PCIR_AER_ERR_SOURCE_ID 0x36
0914 #define PCIR_AER_TLP_PREFIX_LOG 0x38
0915
0916
0917 #define PCIR_VC_CAP1 0x04
0918 #define PCIM_VC_CAP1_EXT_COUNT 0x00000007
0919 #define PCIM_VC_CAP1_LOWPRI_EXT_COUNT 0x00000070
0920 #define PCIR_VC_CAP2 0x08
0921 #define PCIR_VC_CONTROL 0x0C
0922 #define PCIR_VC_STATUS 0x0E
0923 #define PCIR_VC_RESOURCE_CAP(n) (0x10 + (n) * 0x0C)
0924 #define PCIR_VC_RESOURCE_CTL(n) (0x14 + (n) * 0x0C)
0925 #define PCIR_VC_RESOURCE_STA(n) (0x18 + (n) * 0x0C)
0926
0927
0928 #define PCIR_SERIAL_LOW 0x04
0929 #define PCIR_SERIAL_HIGH 0x08
0930
0931 #endif