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