18f977457SLawrence Tang /**
28f977457SLawrence Tang  * Describes available section generators to the CPER generator.
38f977457SLawrence Tang  *
48f977457SLawrence Tang  * Author: Lawrence.Tang@arm.com
58f977457SLawrence Tang  **/
68f977457SLawrence Tang #include "gen-section.h"
78f977457SLawrence Tang 
88f977457SLawrence Tang CPER_GENERATOR_DEFINITION generator_definitions[] = {
9*f8fc7052SJohn Chung 	{ &gEfiProcessorGenericErrorSectionGuid, "generic",
10*f8fc7052SJohn Chung 	  generate_section_generic },
11*f8fc7052SJohn Chung 	{ &gEfiIa32X64ProcessorErrorSectionGuid, "ia32x64",
12*f8fc7052SJohn Chung 	  generate_section_ia32x64 },
138f977457SLawrence Tang 	{ &gEfiArmProcessorErrorSectionGuid, "arm", generate_section_arm },
14*f8fc7052SJohn Chung 	{ &gEfiPlatformMemoryErrorSectionGuid, "memory",
15*f8fc7052SJohn Chung 	  generate_section_memory },
16*f8fc7052SJohn Chung 	{ &gEfiPlatformMemoryError2SectionGuid, "memory2",
17*f8fc7052SJohn Chung 	  generate_section_memory2 },
188f977457SLawrence Tang 	{ &gEfiPcieErrorSectionGuid, "pcie", generate_section_pcie },
19*f8fc7052SJohn Chung 	{ &gEfiFirmwareErrorSectionGuid, "firmware",
20*f8fc7052SJohn Chung 	  generate_section_firmware },
218f977457SLawrence Tang 	{ &gEfiPciBusErrorSectionGuid, "pcibus", generate_section_pci_bus },
228f977457SLawrence Tang 	{ &gEfiPciDevErrorSectionGuid, "pcidev", generate_section_pci_dev },
23*f8fc7052SJohn Chung 	{ &gEfiDMArGenericErrorSectionGuid, "dmargeneric",
24*f8fc7052SJohn Chung 	  generate_section_dmar_generic },
25*f8fc7052SJohn Chung 	{ &gEfiDirectedIoDMArErrorSectionGuid, "dmarvtd",
26*f8fc7052SJohn Chung 	  generate_section_dmar_vtd },
27*f8fc7052SJohn Chung 	{ &gEfiIommuDMArErrorSectionGuid, "dmariommu",
28*f8fc7052SJohn Chung 	  generate_section_dmar_iommu },
29*f8fc7052SJohn Chung 	{ &gEfiCcixPerLogErrorSectionGuid, "ccixper",
30*f8fc7052SJohn Chung 	  generate_section_ccix_per },
31*f8fc7052SJohn Chung 	{ &gEfiCxlProtocolErrorSectionGuid, "cxlprotocol",
32*f8fc7052SJohn Chung 	  generate_section_cxl_protocol },
33*f8fc7052SJohn Chung 	{ &gEfiCxlGeneralMediaErrorSectionGuid, "cxlcomponent-media",
34*f8fc7052SJohn Chung 	  generate_section_cxl_component },
35*f8fc7052SJohn Chung 	{ &gEfiCxlDramEventErrorSectionGuid, "cxlcomponent-dram",
36*f8fc7052SJohn Chung 	  generate_section_cxl_component },
37*f8fc7052SJohn Chung 	{ &gEfiCxlMemoryModuleErrorSectionGuid, "cxlcomponent-memory",
38*f8fc7052SJohn Chung 	  generate_section_cxl_component },
39*f8fc7052SJohn Chung 	{ &gEfiCxlPhysicalSwitchErrorSectionGuid, "cxlcomponent-pswitch",
40*f8fc7052SJohn Chung 	  generate_section_cxl_component },
41*f8fc7052SJohn Chung 	{ &gEfiCxlVirtualSwitchErrorSectionGuid, "cxlcomponent-vswitch",
42*f8fc7052SJohn Chung 	  generate_section_cxl_component },
43*f8fc7052SJohn Chung 	{ &gEfiCxlMldPortErrorSectionGuid, "cxlcomponent-mld",
44*f8fc7052SJohn Chung 	  generate_section_cxl_component },
458f977457SLawrence Tang };
46*f8fc7052SJohn Chung const size_t generator_definitions_len =
47*f8fc7052SJohn Chung 	sizeof(generator_definitions) / sizeof(CPER_GENERATOR_DEFINITION);
48