18f977457SLawrence Tang #ifndef GEN_SECTIONS_H 28f977457SLawrence Tang #define GEN_SECTIONS_H 38f977457SLawrence Tang 48f977457SLawrence Tang #include <stdlib.h> 58f977457SLawrence Tang #include "../../edk/Cper.h" 68f977457SLawrence Tang 78f977457SLawrence Tang //Section generator function predefinitions. 88f977457SLawrence Tang size_t generate_section_generic(void **location); 98f977457SLawrence Tang size_t generate_section_ia32x64(void **location); 108f977457SLawrence Tang size_t generate_section_arm(void **location); 118f977457SLawrence Tang size_t generate_section_memory(void **location); 128f977457SLawrence Tang size_t generate_section_memory2(void **location); 138f977457SLawrence Tang size_t generate_section_pcie(void **location); 148f977457SLawrence Tang size_t generate_section_pci_bus(void **location); 158f977457SLawrence Tang size_t generate_section_pci_dev(void **location); 168f977457SLawrence Tang size_t generate_section_firmware(void **location); 178f977457SLawrence Tang size_t generate_section_dmar_generic(void **location); 188f977457SLawrence Tang size_t generate_section_dmar_vtd(void **location); 198f977457SLawrence Tang size_t generate_section_dmar_iommu(void **location); 208f977457SLawrence Tang size_t generate_section_ccix_per(void **location); 218f977457SLawrence Tang size_t generate_section_cxl_protocol(void **location); 228f977457SLawrence Tang size_t generate_section_cxl_component(void **location); 23*683e0550SKarthik Rajagopalan size_t generate_section_nvidia(void **location); 248f977457SLawrence Tang 258f977457SLawrence Tang //Definition structure for a single CPER section generator. 268f977457SLawrence Tang typedef struct { 278f977457SLawrence Tang EFI_GUID *Guid; 288f977457SLawrence Tang const char *ShortName; 298f977457SLawrence Tang size_t (*Generate)(void **); 308f977457SLawrence Tang } CPER_GENERATOR_DEFINITION; 318f977457SLawrence Tang 328f977457SLawrence Tang extern CPER_GENERATOR_DEFINITION generator_definitions[]; 338f977457SLawrence Tang extern const size_t generator_definitions_len; 348f977457SLawrence Tang 358f977457SLawrence Tang #endif 36