blob: f74f9525ebf615bd084aad00bd9e94140e4bc9dd [file] [log] [blame]
Lawrence Tang864c0da2022-07-06 15:55:40 +01001#ifndef CPER_SECTION_CCIX_PER_H
2#define CPER_SECTION_CCIX_PER_H
3
4#include "json.h"
5#include "../edk/Cper.h"
6
7#define CCIX_PER_ERROR_VALID_BITFIELD_NAMES (const char*[]) {"ccixSourceIDValid", "ccixPortIDValid", "ccixPERLogValid"}
8
9///
10/// CCIX PER Log Error Section
11///
12typedef struct {
13 UINT32 Length;
14 UINT64 ValidBits;
15 UINT8 CcixSourceId;
16 UINT8 CcixPortId;
17 UINT16 Reserved;
Lawrence Tang0a4b3f22022-07-21 10:40:10 +010018} __attribute__((packed, aligned(1))) EFI_CCIX_PER_LOG_DATA;
Lawrence Tang864c0da2022-07-06 15:55:40 +010019
20json_object* cper_section_ccix_per_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor);
Lawrence Tang205dd1d2022-07-14 16:23:38 +010021void ir_section_ccix_per_to_cper(json_object* section, FILE* out);
Lawrence Tang864c0da2022-07-06 15:55:40 +010022
23#endif