1*864c0da9SLawrence Tang #ifndef CPER_SECTION_CCIX_PER_H 2*864c0da9SLawrence Tang #define CPER_SECTION_CCIX_PER_H 3*864c0da9SLawrence Tang 4*864c0da9SLawrence Tang #include "json.h" 5*864c0da9SLawrence Tang #include "../edk/Cper.h" 6*864c0da9SLawrence Tang 7*864c0da9SLawrence Tang #define CCIX_PER_ERROR_VALID_BITFIELD_NAMES (const char*[]) {"ccixSourceIDValid", "ccixPortIDValid", "ccixPERLogValid"} 8*864c0da9SLawrence Tang 9*864c0da9SLawrence Tang /// 10*864c0da9SLawrence Tang /// CCIX PER Log Error Section 11*864c0da9SLawrence Tang /// 12*864c0da9SLawrence Tang typedef struct { 13*864c0da9SLawrence Tang UINT32 Length; 14*864c0da9SLawrence Tang UINT64 ValidBits; 15*864c0da9SLawrence Tang UINT8 CcixSourceId; 16*864c0da9SLawrence Tang UINT8 CcixPortId; 17*864c0da9SLawrence Tang UINT16 Reserved; 18*864c0da9SLawrence Tang } EFI_CCIX_PER_LOG_DATA; 19*864c0da9SLawrence Tang 20*864c0da9SLawrence Tang json_object* cper_section_ccix_per_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor); 21*864c0da9SLawrence Tang 22*864c0da9SLawrence Tang #endif