1*4dbe3d72SLawrence Tang #ifndef CPER_SECTION_PCIE_H 2*4dbe3d72SLawrence Tang #define CPER_SECTION_PCIE_H 3*4dbe3d72SLawrence Tang 4*4dbe3d72SLawrence Tang #include "json.h" 5*4dbe3d72SLawrence Tang #include "../edk/Cper.h" 6*4dbe3d72SLawrence Tang 7*4dbe3d72SLawrence Tang #define PCIE_ERROR_VALID_BITFIELD_NAMES (const char*[]) {"portTypeValid", "versionValid", "commandStatusValid", \ 8*4dbe3d72SLawrence Tang "deviceIDValid", "deviceSerialNumberValid", "bridgeControlStatusValid", "capabilityStructureStatusValid", \ 9*4dbe3d72SLawrence Tang "aerInfoValid"} 10*4dbe3d72SLawrence Tang #define PCIE_ERROR_PORT_TYPES_KEYS (int []){0, 1, 4, 5, 6, 7, 8, 9, 10} 11*4dbe3d72SLawrence Tang #define PCIE_ERROR_PORT_TYPES_VALUES (const char*[]){"PCI Express End Point", "Legacy PCI End Point Device", \ 12*4dbe3d72SLawrence Tang "Root Port", "Upstream Switch Port", "Downstream Switch Port", "PCI Express to PCI/PCI-X Bridge", \ 13*4dbe3d72SLawrence Tang "PCI/PCI-X Bridge to PCI Express Bridge", "Root Complex Integrated Endpoint Device", "Root Complex Event Collector"} 14*4dbe3d72SLawrence Tang 15*4dbe3d72SLawrence Tang json_object* cper_section_pcie_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor); 16*4dbe3d72SLawrence Tang 17*4dbe3d72SLawrence Tang #endif