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[] = {
9f8fc7052SJohn Chung 	{ &gEfiProcessorGenericErrorSectionGuid, "generic",
10f8fc7052SJohn Chung 	  generate_section_generic },
11f8fc7052SJohn Chung 	{ &gEfiIa32X64ProcessorErrorSectionGuid, "ia32x64",
12f8fc7052SJohn Chung 	  generate_section_ia32x64 },
138f977457SLawrence Tang 	{ &gEfiArmProcessorErrorSectionGuid, "arm", generate_section_arm },
14f8fc7052SJohn Chung 	{ &gEfiPlatformMemoryErrorSectionGuid, "memory",
15f8fc7052SJohn Chung 	  generate_section_memory },
16f8fc7052SJohn Chung 	{ &gEfiPlatformMemoryError2SectionGuid, "memory2",
17f8fc7052SJohn Chung 	  generate_section_memory2 },
188f977457SLawrence Tang 	{ &gEfiPcieErrorSectionGuid, "pcie", generate_section_pcie },
19f8fc7052SJohn Chung 	{ &gEfiFirmwareErrorSectionGuid, "firmware",
20f8fc7052SJohn Chung 	  generate_section_firmware },
218f977457SLawrence Tang 	{ &gEfiPciBusErrorSectionGuid, "pcibus", generate_section_pci_bus },
228f977457SLawrence Tang 	{ &gEfiPciDevErrorSectionGuid, "pcidev", generate_section_pci_dev },
23f8fc7052SJohn Chung 	{ &gEfiDMArGenericErrorSectionGuid, "dmargeneric",
24f8fc7052SJohn Chung 	  generate_section_dmar_generic },
25f8fc7052SJohn Chung 	{ &gEfiDirectedIoDMArErrorSectionGuid, "dmarvtd",
26f8fc7052SJohn Chung 	  generate_section_dmar_vtd },
27f8fc7052SJohn Chung 	{ &gEfiIommuDMArErrorSectionGuid, "dmariommu",
28f8fc7052SJohn Chung 	  generate_section_dmar_iommu },
29f8fc7052SJohn Chung 	{ &gEfiCcixPerLogErrorSectionGuid, "ccixper",
30f8fc7052SJohn Chung 	  generate_section_ccix_per },
31f8fc7052SJohn Chung 	{ &gEfiCxlProtocolErrorSectionGuid, "cxlprotocol",
32f8fc7052SJohn Chung 	  generate_section_cxl_protocol },
33f8fc7052SJohn Chung 	{ &gEfiCxlGeneralMediaErrorSectionGuid, "cxlcomponent-media",
34f8fc7052SJohn Chung 	  generate_section_cxl_component },
35f8fc7052SJohn Chung 	{ &gEfiCxlDramEventErrorSectionGuid, "cxlcomponent-dram",
36f8fc7052SJohn Chung 	  generate_section_cxl_component },
37f8fc7052SJohn Chung 	{ &gEfiCxlMemoryModuleErrorSectionGuid, "cxlcomponent-memory",
38f8fc7052SJohn Chung 	  generate_section_cxl_component },
39f8fc7052SJohn Chung 	{ &gEfiCxlPhysicalSwitchErrorSectionGuid, "cxlcomponent-pswitch",
40f8fc7052SJohn Chung 	  generate_section_cxl_component },
41f8fc7052SJohn Chung 	{ &gEfiCxlVirtualSwitchErrorSectionGuid, "cxlcomponent-vswitch",
42f8fc7052SJohn Chung 	  generate_section_cxl_component },
43f8fc7052SJohn Chung 	{ &gEfiCxlMldPortErrorSectionGuid, "cxlcomponent-mld",
44f8fc7052SJohn Chung 	  generate_section_cxl_component },
45*683e0550SKarthik Rajagopalan 	{ &gEfiNvidiaErrorSectionGuid, "nvidia", generate_section_nvidia },
468f977457SLawrence Tang };
47f8fc7052SJohn Chung const size_t generator_definitions_len =
48f8fc7052SJohn Chung 	sizeof(generator_definitions) / sizeof(CPER_GENERATOR_DEFINITION);
49