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