1*8f977457SLawrence Tang #ifndef GEN_SECTIONS_H 2*8f977457SLawrence Tang #define GEN_SECTIONS_H 3*8f977457SLawrence Tang 4*8f977457SLawrence Tang #include <stdlib.h> 5*8f977457SLawrence Tang #include "../../edk/Cper.h" 6*8f977457SLawrence Tang 7*8f977457SLawrence Tang //Section generator function predefinitions. 8*8f977457SLawrence Tang size_t generate_section_generic(void** location); 9*8f977457SLawrence Tang size_t generate_section_ia32x64(void** location); 10*8f977457SLawrence Tang size_t generate_section_arm(void** location); 11*8f977457SLawrence Tang size_t generate_section_memory(void** location); 12*8f977457SLawrence Tang size_t generate_section_memory2(void** location); 13*8f977457SLawrence Tang size_t generate_section_pcie(void** location); 14*8f977457SLawrence Tang size_t generate_section_pci_bus(void** location); 15*8f977457SLawrence Tang size_t generate_section_pci_dev(void** location); 16*8f977457SLawrence Tang size_t generate_section_firmware(void** location); 17*8f977457SLawrence Tang size_t generate_section_dmar_generic(void** location); 18*8f977457SLawrence Tang size_t generate_section_dmar_vtd(void** location); 19*8f977457SLawrence Tang size_t generate_section_dmar_iommu(void** location); 20*8f977457SLawrence Tang size_t generate_section_ccix_per(void** location); 21*8f977457SLawrence Tang size_t generate_section_cxl_protocol(void** location); 22*8f977457SLawrence Tang size_t generate_section_cxl_component(void** location); 23*8f977457SLawrence Tang 24*8f977457SLawrence Tang //Definition structure for a single CPER section generator. 25*8f977457SLawrence Tang typedef struct { 26*8f977457SLawrence Tang EFI_GUID* Guid; 27*8f977457SLawrence Tang const char* ShortName; 28*8f977457SLawrence Tang size_t (*Generate)(void**); 29*8f977457SLawrence Tang } CPER_GENERATOR_DEFINITION; 30*8f977457SLawrence Tang 31*8f977457SLawrence Tang extern CPER_GENERATOR_DEFINITION generator_definitions[]; 32*8f977457SLawrence Tang extern const size_t generator_definitions_len; 33*8f977457SLawrence Tang 34*8f977457SLawrence Tang #endif