1*8f977457SLawrence Tang /**
2*8f977457SLawrence Tang  * Describes available section generators to the CPER generator.
3*8f977457SLawrence Tang  *
4*8f977457SLawrence Tang  * Author: Lawrence.Tang@arm.com
5*8f977457SLawrence Tang  **/
6*8f977457SLawrence Tang #include "gen-section.h"
7*8f977457SLawrence Tang 
8*8f977457SLawrence Tang CPER_GENERATOR_DEFINITION generator_definitions[] = {
9*8f977457SLawrence Tang     {&gEfiProcessorGenericErrorSectionGuid, "generic", generate_section_generic},
10*8f977457SLawrence Tang     {&gEfiIa32X64ProcessorErrorSectionGuid, "ia32x64", generate_section_ia32x64},
11*8f977457SLawrence Tang     {&gEfiArmProcessorErrorSectionGuid, "arm", generate_section_arm},
12*8f977457SLawrence Tang     {&gEfiPlatformMemoryErrorSectionGuid, "memory", generate_section_memory},
13*8f977457SLawrence Tang     {&gEfiPlatformMemoryError2SectionGuid, "memory2", generate_section_memory2},
14*8f977457SLawrence Tang     {&gEfiPcieErrorSectionGuid, "pcie", generate_section_pcie},
15*8f977457SLawrence Tang     {&gEfiFirmwareErrorSectionGuid, "firmware", generate_section_firmware},
16*8f977457SLawrence Tang     {&gEfiPciBusErrorSectionGuid, "pcibus", generate_section_pci_bus},
17*8f977457SLawrence Tang     {&gEfiPciDevErrorSectionGuid, "pcidev", generate_section_pci_dev},
18*8f977457SLawrence Tang     {&gEfiDMArGenericErrorSectionGuid, "dmargeneric", generate_section_dmar_generic},
19*8f977457SLawrence Tang     {&gEfiDirectedIoDMArErrorSectionGuid, "dmarvtd", generate_section_dmar_vtd},
20*8f977457SLawrence Tang     {&gEfiIommuDMArErrorSectionGuid, "dmariommu", generate_section_dmar_iommu},
21*8f977457SLawrence Tang     {&gEfiCcixPerLogErrorSectionGuid, "ccixper", generate_section_ccix_per},
22*8f977457SLawrence Tang     {&gEfiCxlProtocolErrorSectionGuid, "cxlprotocol", generate_section_cxl_protocol},
23*8f977457SLawrence Tang     {&gEfiCxlGeneralMediaErrorSectionGuid, "cxlcomponent-media", generate_section_cxl_component},
24*8f977457SLawrence Tang     {&gEfiCxlDramEventErrorSectionGuid, "cxlcomponent-dram", generate_section_cxl_component},
25*8f977457SLawrence Tang     {&gEfiCxlMemoryModuleErrorSectionGuid, "cxlcomponent-memory", generate_section_cxl_component},
26*8f977457SLawrence Tang     {&gEfiCxlPhysicalSwitchErrorSectionGuid, "cxlcomponent-pswitch", generate_section_cxl_component},
27*8f977457SLawrence Tang     {&gEfiCxlVirtualSwitchErrorSectionGuid, "cxlcomponent-vswitch", generate_section_cxl_component},
28*8f977457SLawrence Tang     {&gEfiCxlMldPortErrorSectionGuid, "cxlcomponent-mld", generate_section_cxl_component},
29*8f977457SLawrence Tang };
30*8f977457SLawrence Tang const size_t generator_definitions_len = sizeof(generator_definitions) / sizeof(CPER_GENERATOR_DEFINITION);