Partial reformat to kernel code style.
diff --git a/sections/cper-section-ipf.c b/sections/cper-section-ipf.c
index 0c065cc..b014d5d 100644
--- a/sections/cper-section-ipf.c
+++ b/sections/cper-section-ipf.c
@@ -10,99 +10,159 @@
#include "../cper-utils.h"
#include "cper-section-ipf.h"
-json_object* cper_ipf_mod_error_read_array(EFI_IPF_MOD_ERROR_INFO** cur_error, int num_to_read);
-json_object* cper_ipf_mod_error_to_ir(EFI_IPF_MOD_ERROR_INFO* mod_error);
+json_object *cper_ipf_mod_error_read_array(EFI_IPF_MOD_ERROR_INFO **cur_error,
+ int num_to_read);
+json_object *cper_ipf_mod_error_to_ir(EFI_IPF_MOD_ERROR_INFO *mod_error);
//Converts a single Intel IPF error CPER section into JSON IR.
-json_object* cper_section_ipf_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor)
+json_object *cper_section_ipf_to_ir(void *section,
+ EFI_ERROR_SECTION_DESCRIPTOR *descriptor)
{
- EFI_IPF_ERROR_INFO_HEADER* ipf_error = (EFI_IPF_ERROR_INFO_HEADER*)section;
- json_object* section_ir = json_object_new_object();
+ EFI_IPF_ERROR_INFO_HEADER *ipf_error =
+ (EFI_IPF_ERROR_INFO_HEADER *)section;
+ json_object *section_ir = json_object_new_object();
- //Validation bits.
- json_object* validation = json_object_new_object();
- json_object_object_add(validation, "errorMapValid", json_object_new_boolean(ipf_error->ValidBits.ProcErrorMapValid));
- json_object_object_add(validation, "stateParameterValid", json_object_new_boolean(ipf_error->ValidBits.ProcErrorMapValid));
- json_object_object_add(validation, "crLIDValid", json_object_new_boolean(ipf_error->ValidBits.ProcCrLidValid));
- json_object_object_add(validation, "psiStaticStructValid", json_object_new_boolean(ipf_error->ValidBits.PsiStaticStructValid));
- json_object_object_add(validation, "cpuInfoValid", json_object_new_boolean(ipf_error->ValidBits.CpuIdInfoValid));
- json_object_object_add(section_ir, "validationBits", validation);
+ //Validation bits.
+ json_object *validation = json_object_new_object();
+ json_object_object_add(validation, "errorMapValid",
+ json_object_new_boolean(
+ ipf_error->ValidBits.ProcErrorMapValid));
+ json_object_object_add(validation, "stateParameterValid",
+ json_object_new_boolean(
+ ipf_error->ValidBits.ProcErrorMapValid));
+ json_object_object_add(
+ validation, "crLIDValid",
+ json_object_new_boolean(ipf_error->ValidBits.ProcCrLidValid));
+ json_object_object_add(
+ validation, "psiStaticStructValid",
+ json_object_new_boolean(
+ ipf_error->ValidBits.PsiStaticStructValid));
+ json_object_object_add(
+ validation, "cpuInfoValid",
+ json_object_new_boolean(ipf_error->ValidBits.CpuIdInfoValid));
+ json_object_object_add(section_ir, "validationBits", validation);
- //Numbers of various variable length segments.
- json_object_object_add(section_ir, "cacheCheckNum", json_object_new_uint64(ipf_error->ValidBits.CacheCheckNum));
- json_object_object_add(section_ir, "tlbCheckNum", json_object_new_uint64(ipf_error->ValidBits.TlbCheckNum));
- json_object_object_add(section_ir, "busCheckNum", json_object_new_uint64(ipf_error->ValidBits.BusCheckNum));
- json_object_object_add(section_ir, "regFileCheckNum", json_object_new_uint64(ipf_error->ValidBits.RegFileCheckNum));
- json_object_object_add(section_ir, "msCheckNum", json_object_new_uint64(ipf_error->ValidBits.MsCheckNum));
+ //Numbers of various variable length segments.
+ json_object_object_add(
+ section_ir, "cacheCheckNum",
+ json_object_new_uint64(ipf_error->ValidBits.CacheCheckNum));
+ json_object_object_add(
+ section_ir, "tlbCheckNum",
+ json_object_new_uint64(ipf_error->ValidBits.TlbCheckNum));
+ json_object_object_add(
+ section_ir, "busCheckNum",
+ json_object_new_uint64(ipf_error->ValidBits.BusCheckNum));
+ json_object_object_add(
+ section_ir, "regFileCheckNum",
+ json_object_new_uint64(ipf_error->ValidBits.RegFileCheckNum));
+ json_object_object_add(
+ section_ir, "msCheckNum",
+ json_object_new_uint64(ipf_error->ValidBits.MsCheckNum));
- //Process error map, state params/CR LID.
- json_object_object_add(section_ir, "procErrorMap", json_object_new_uint64(ipf_error->ProcErrorMap));
- json_object_object_add(section_ir, "procStateParameter", json_object_new_uint64(ipf_error->ProcStateParameter));
- json_object_object_add(section_ir, "procCRLID", json_object_new_uint64(ipf_error->ProcCrLid));
+ //Process error map, state params/CR LID.
+ json_object_object_add(section_ir, "procErrorMap",
+ json_object_new_uint64(ipf_error->ProcErrorMap));
+ json_object_object_add(
+ section_ir, "procStateParameter",
+ json_object_new_uint64(ipf_error->ProcStateParameter));
+ json_object_object_add(section_ir, "procCRLID",
+ json_object_new_uint64(ipf_error->ProcCrLid));
- //Read cache, TLB, bus, register file, MS errors.
- EFI_IPF_MOD_ERROR_INFO* cur_error = (EFI_IPF_MOD_ERROR_INFO*)(ipf_error + 1);
- json_object_object_add(section_ir, "cacheErrors", cper_ipf_mod_error_read_array(&cur_error, ipf_error->ValidBits.CacheCheckNum));
- json_object_object_add(section_ir, "tlbErrors", cper_ipf_mod_error_read_array(&cur_error, ipf_error->ValidBits.TlbCheckNum));
- json_object_object_add(section_ir, "busErrors", cper_ipf_mod_error_read_array(&cur_error, ipf_error->ValidBits.BusCheckNum));
- json_object_object_add(section_ir, "regFileErrors", cper_ipf_mod_error_read_array(&cur_error, ipf_error->ValidBits.RegFileCheckNum));
- json_object_object_add(section_ir, "msErrors", cper_ipf_mod_error_read_array(&cur_error, ipf_error->ValidBits.MsCheckNum));
-
- //CPU ID information.
- EFI_IPF_CPU_INFO* cpu_info = (EFI_IPF_CPU_INFO*)cur_error;
- //stretch: find out how this is represented
+ //Read cache, TLB, bus, register file, MS errors.
+ EFI_IPF_MOD_ERROR_INFO *cur_error =
+ (EFI_IPF_MOD_ERROR_INFO *)(ipf_error + 1);
+ json_object_object_add(section_ir, "cacheErrors",
+ cper_ipf_mod_error_read_array(
+ &cur_error,
+ ipf_error->ValidBits.CacheCheckNum));
+ json_object_object_add(section_ir, "tlbErrors",
+ cper_ipf_mod_error_read_array(
+ &cur_error,
+ ipf_error->ValidBits.TlbCheckNum));
+ json_object_object_add(section_ir, "busErrors",
+ cper_ipf_mod_error_read_array(
+ &cur_error,
+ ipf_error->ValidBits.BusCheckNum));
+ json_object_object_add(section_ir, "regFileErrors",
+ cper_ipf_mod_error_read_array(
+ &cur_error,
+ ipf_error->ValidBits.RegFileCheckNum));
+ json_object_object_add(
+ section_ir, "msErrors",
+ cper_ipf_mod_error_read_array(&cur_error,
+ ipf_error->ValidBits.MsCheckNum));
- //Processor static information.
- EFI_IPF_PSI_STATIC* psi_static = (EFI_IPF_PSI_STATIC*)(cpu_info + 1);
- json_object* psi_static_ir = json_object_new_object();
-
- //PSI validation bits.
- json_object* psi_validation = bitfield_to_ir(psi_static->ValidBits, 6, IPF_PSI_STATIC_INFO_VALID_BITFIELD_NAMES);
- json_object_object_add(psi_static_ir, "validationBits", psi_validation);
+ //CPU ID information.
+ EFI_IPF_CPU_INFO *cpu_info = (EFI_IPF_CPU_INFO *)cur_error;
+ //stretch: find out how this is represented
- //PSI minimal state save info.
- //stretch: structure min save state area as in Intel Itanium Architecture Software Developer's Manual.
+ //Processor static information.
+ EFI_IPF_PSI_STATIC *psi_static = (EFI_IPF_PSI_STATIC *)(cpu_info + 1);
+ json_object *psi_static_ir = json_object_new_object();
- //BRs, CRs, ARs, RRs, FRs.
- json_object_object_add(psi_static_ir, "brs", uint64_array_to_ir_array(psi_static->Brs, 8));
- json_object_object_add(psi_static_ir, "crs", uint64_array_to_ir_array(psi_static->Crs, 128));
- json_object_object_add(psi_static_ir, "ars", uint64_array_to_ir_array(psi_static->Ars, 128));
- json_object_object_add(psi_static_ir, "rrs", uint64_array_to_ir_array(psi_static->Rrs, 8));
- json_object_object_add(psi_static_ir, "frs", uint64_array_to_ir_array(psi_static->Frs, 256));
- json_object_object_add(section_ir, "psiStaticInfo", psi_static_ir);
+ //PSI validation bits.
+ json_object *psi_validation =
+ bitfield_to_ir(psi_static->ValidBits, 6,
+ IPF_PSI_STATIC_INFO_VALID_BITFIELD_NAMES);
+ json_object_object_add(psi_static_ir, "validationBits", psi_validation);
- return section_ir;
+ //PSI minimal state save info.
+ //stretch: structure min save state area as in Intel Itanium Architecture Software Developer's Manual.
+
+ //BRs, CRs, ARs, RRs, FRs.
+ json_object_object_add(psi_static_ir, "brs",
+ uint64_array_to_ir_array(psi_static->Brs, 8));
+ json_object_object_add(psi_static_ir, "crs",
+ uint64_array_to_ir_array(psi_static->Crs, 128));
+ json_object_object_add(psi_static_ir, "ars",
+ uint64_array_to_ir_array(psi_static->Ars, 128));
+ json_object_object_add(psi_static_ir, "rrs",
+ uint64_array_to_ir_array(psi_static->Rrs, 8));
+ json_object_object_add(psi_static_ir, "frs",
+ uint64_array_to_ir_array(psi_static->Frs, 256));
+ json_object_object_add(section_ir, "psiStaticInfo", psi_static_ir);
+
+ return section_ir;
}
//Reads a continuous stream of CPER IPF mod errors beginning from the given pointer, for n entries.
//Returns an array containing all read entries as JSON IR.
-json_object* cper_ipf_mod_error_read_array(EFI_IPF_MOD_ERROR_INFO** cur_error, int num_to_read)
+json_object *cper_ipf_mod_error_read_array(EFI_IPF_MOD_ERROR_INFO **cur_error,
+ int num_to_read)
{
- json_object* error_array = json_object_new_array();
- for (int i=0; i<num_to_read; i++)
- {
- json_object_array_add(error_array, cper_ipf_mod_error_to_ir(*cur_error));
- *cur_error = *cur_error + 1;
- }
+ json_object *error_array = json_object_new_array();
+ for (int i = 0; i < num_to_read; i++) {
+ json_object_array_add(error_array,
+ cper_ipf_mod_error_to_ir(*cur_error));
+ *cur_error = *cur_error + 1;
+ }
- return error_array;
+ return error_array;
}
//Converts a single CPER IPF mod error info structure into JSON IR.
-json_object* cper_ipf_mod_error_to_ir(EFI_IPF_MOD_ERROR_INFO* mod_error)
+json_object *cper_ipf_mod_error_to_ir(EFI_IPF_MOD_ERROR_INFO *mod_error)
{
- json_object* mod_error_ir = json_object_new_object();
-
- //Validation bits.
- json_object* validation = bitfield_to_ir(mod_error->ValidBits, 5, IPF_MOD_ERROR_VALID_BITFIELD_NAMES);
- json_object_object_add(mod_error_ir, "validationBits", validation);
+ json_object *mod_error_ir = json_object_new_object();
- //Numeric fields.
- json_object_object_add(mod_error_ir, "modCheckInfo", json_object_new_uint64(mod_error->ModCheckInfo));
- json_object_object_add(mod_error_ir, "modTargetID", json_object_new_uint64(mod_error->ModTargetId));
- json_object_object_add(mod_error_ir, "modRequestorID", json_object_new_uint64(mod_error->ModRequestorId));
- json_object_object_add(mod_error_ir, "modResponderID", json_object_new_uint64(mod_error->ModResponderId));
- json_object_object_add(mod_error_ir, "modPreciseIP", json_object_new_uint64(mod_error->ModPreciseIp));
+ //Validation bits.
+ json_object *validation = bitfield_to_ir(
+ mod_error->ValidBits, 5, IPF_MOD_ERROR_VALID_BITFIELD_NAMES);
+ json_object_object_add(mod_error_ir, "validationBits", validation);
- return mod_error_ir;
+ //Numeric fields.
+ json_object_object_add(mod_error_ir, "modCheckInfo",
+ json_object_new_uint64(mod_error->ModCheckInfo));
+ json_object_object_add(mod_error_ir, "modTargetID",
+ json_object_new_uint64(mod_error->ModTargetId));
+ json_object_object_add(
+ mod_error_ir, "modRequestorID",
+ json_object_new_uint64(mod_error->ModRequestorId));
+ json_object_object_add(
+ mod_error_ir, "modResponderID",
+ json_object_new_uint64(mod_error->ModResponderId));
+ json_object_object_add(mod_error_ir, "modPreciseIP",
+ json_object_new_uint64(mod_error->ModPreciseIp));
+
+ return mod_error_ir;
}
\ No newline at end of file