diff --git a/sections/cper-section-arm.c b/sections/cper-section-arm.c
index 4c5ce36..da5d533 100644
--- a/sections/cper-section-arm.c
+++ b/sections/cper-section-arm.c
@@ -32,7 +32,7 @@
     //Number of error info and context info structures, and length.
     json_object_object_add(section_ir, "errorInfoNum", json_object_new_int(record->ErrInfoNum));
     json_object_object_add(section_ir, "contextInfoNum", json_object_new_int(record->ContextInfoNum));
-    json_object_object_add(section_ir, "sectionLength", json_object_new_int(record->SectionLength));
+    json_object_object_add(section_ir, "sectionLength", json_object_new_uint64(record->SectionLength));
 
     //Error affinity.
     json_object* error_affinity = json_object_new_object();
@@ -46,13 +46,13 @@
     json_object_object_add(section_ir, "midrEl1", json_object_new_uint64(record->MIDR_EL1));
 
     //Whether the processor is running, and the state of it if so.
-    json_object_object_add(section_ir, "running", json_object_new_boolean(record->RunningState));
+    json_object_object_add(section_ir, "running", json_object_new_boolean(record->RunningState & 0b1));
     if (record->RunningState >> 31)
     {
         //Bit 32 of running state is on, so PSCI state information is included.
         //This can't be made human readable, as it is unknown whether this will be the pre-PSCI 1.0 format
         //or the newer Extended StateID format.
-        json_object_object_add(section_ir, "psciState", json_object_new_int(record->PsciState));
+        json_object_object_add(section_ir, "psciState", json_object_new_uint64(record->PsciState));
     }
 
     //Processor error structures.
@@ -68,8 +68,14 @@
     //Processor context structures.
     //The current position is moved within the processing, as it is a dynamic size structure.
     void* cur_pos = (void*)cur_error;
-    EFI_ARM_CONTEXT_INFORMATION_HEADER* header = (EFI_ARM_CONTEXT_INFORMATION_HEADER*)cur_error;
-    json_object* processor_context = cper_arm_processor_context_to_ir(header, &cur_pos);
+    json_object* context_info_array = json_object_new_array();
+    for (int i=0; i<record->ContextInfoNum; i++)
+    {
+        EFI_ARM_CONTEXT_INFORMATION_HEADER* header = (EFI_ARM_CONTEXT_INFORMATION_HEADER*)cur_pos;
+        json_object* processor_context = cper_arm_processor_context_to_ir(header, &cur_pos);
+        json_object_array_add(context_info_array, processor_context);
+    }
+    json_object_object_add(section_ir, "contextInfo", context_info_array);
 
     //Is there any vendor-specific information following?
     if (cur_pos < section + record->SectionLength)
@@ -229,7 +235,7 @@
 
     //Memory access attributes.
     //todo: find the specification of these in the ARM ARM
-    //...
+    json_object_object_add(bus_error_ir, "memoryAttributes", json_object_new_int(bus_error->MemoryAddressAttributes));
 
     //Access Mode
     json_object* access_mode = json_object_new_object();
@@ -303,6 +309,7 @@
             free(encoded);
             break;
     }
+    json_object_object_add(context_ir, "registerArray", register_array);
 
     //Set the current position to after the processor context structure.
     *cur_pos = (UINT8*)(*cur_pos) + header->RegisterArraySize;
diff --git a/sections/cper-section-arm.h b/sections/cper-section-arm.h
index a283efd..609eb2b 100644
--- a/sections/cper-section-arm.h
+++ b/sections/cper-section-arm.h
@@ -15,7 +15,7 @@
     "precisePCValid", "restartablePCValid"}
 #define ARM_BUS_ERROR_VALID_BITFIELD_NAMES (const char*[]) \
     {"transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", \
-    "precisePCValid", "restartablePCValid", "participationTypeValid", "timeOutValid", "addressSpaceValid", \
+    "precisePCValid", "restartablePCValid", "participationTypeValid", "timedOutValid", "addressSpaceValid", \
     "memoryAttributesValid", "accessModeValid"}
 #define ARM_ERROR_TRANSACTION_TYPES_KEYS (int []){0, 1, 2}
 #define ARM_ERROR_TRANSACTION_TYPES_VALUES (const char*[]){"Instruction", "Data Access", "Generic"}
diff --git a/sections/cper-section-ia32x64.c b/sections/cper-section-ia32x64.c
index f65f4f4..df238aa 100644
--- a/sections/cper-section-ia32x64.c
+++ b/sections/cper-section-ia32x64.c
@@ -101,9 +101,9 @@
     json_object_object_add(error_info_ir, "checkInfo", checkInformation);
 
     //Target, requestor, and responder identifiers.
-    json_object_object_add(error_info_ir, "targetIdentifier", json_object_new_uint64(error_info->TargetId));
-    json_object_object_add(error_info_ir, "requestorIdentifier", json_object_new_uint64(error_info->RequestorId));
-    json_object_object_add(error_info_ir, "responderIdentifier", json_object_new_uint64(error_info->ResponderId));
+    json_object_object_add(error_info_ir, "targetAddressID", json_object_new_uint64(error_info->TargetId));
+    json_object_object_add(error_info_ir, "requestorID", json_object_new_uint64(error_info->RequestorId));
+    json_object_object_add(error_info_ir, "responderID", json_object_new_uint64(error_info->ResponderId));
     json_object_object_add(error_info_ir, "instructionPointer", json_object_new_uint64(error_info->InstructionIP));
 
     return error_info_ir;
@@ -202,7 +202,7 @@
     json_object* ms_check_ir = json_object_new_object();
 
     //Validation bits.
-    json_object* validation = bitfield_to_ir(ms_check->ValidFields, 6, IA32X64_CHECK_INFO_VALID_BITFIELD_NAMES);
+    json_object* validation = bitfield_to_ir(ms_check->ValidFields, 6, IA32X64_CHECK_INFO_MS_CHECK_VALID_BITFIELD_NAMES);
     json_object_object_add(ms_check_ir, "validationBits", validation);
 
     //Error type (operation that caused the error).
@@ -274,31 +274,31 @@
 json_object* cper_ia32x64_register_32bit_to_ir(EFI_CONTEXT_IA32_REGISTER_STATE* registers)
 {
     json_object* ia32_registers = json_object_new_object();
-    json_object_object_add(ia32_registers, "eax", json_object_new_int(registers->Eax));
-    json_object_object_add(ia32_registers, "ebx", json_object_new_int(registers->Ebx));
-    json_object_object_add(ia32_registers, "ecx", json_object_new_int(registers->Ecx));
-    json_object_object_add(ia32_registers, "edx", json_object_new_int(registers->Edx));
-    json_object_object_add(ia32_registers, "esi", json_object_new_int(registers->Esi));
-    json_object_object_add(ia32_registers, "edi", json_object_new_int(registers->Edi));
-    json_object_object_add(ia32_registers, "ebp", json_object_new_int(registers->Ebp));
-    json_object_object_add(ia32_registers, "esp", json_object_new_int(registers->Esp));
-    json_object_object_add(ia32_registers, "cs", json_object_new_int(registers->Cs));
-    json_object_object_add(ia32_registers, "ds", json_object_new_int(registers->Ds));
-    json_object_object_add(ia32_registers, "ss", json_object_new_int(registers->Ss));
-    json_object_object_add(ia32_registers, "es", json_object_new_int(registers->Es));
-    json_object_object_add(ia32_registers, "fs", json_object_new_int(registers->Fs));
-    json_object_object_add(ia32_registers, "gs", json_object_new_int(registers->Gs));
-    json_object_object_add(ia32_registers, "eflags", json_object_new_int(registers->Eflags));
-    json_object_object_add(ia32_registers, "eip", json_object_new_int(registers->Eip));
-    json_object_object_add(ia32_registers, "cr0", json_object_new_int(registers->Cr0));
-    json_object_object_add(ia32_registers, "cr1", json_object_new_int(registers->Cr1));
-    json_object_object_add(ia32_registers, "cr2", json_object_new_int(registers->Cr2));
-    json_object_object_add(ia32_registers, "cr3", json_object_new_int(registers->Cr3));
-    json_object_object_add(ia32_registers, "cr4", json_object_new_int(registers->Cr4));
+    json_object_object_add(ia32_registers, "eax", json_object_new_uint64(registers->Eax));
+    json_object_object_add(ia32_registers, "ebx", json_object_new_uint64(registers->Ebx));
+    json_object_object_add(ia32_registers, "ecx", json_object_new_uint64(registers->Ecx));
+    json_object_object_add(ia32_registers, "edx", json_object_new_uint64(registers->Edx));
+    json_object_object_add(ia32_registers, "esi", json_object_new_uint64(registers->Esi));
+    json_object_object_add(ia32_registers, "edi", json_object_new_uint64(registers->Edi));
+    json_object_object_add(ia32_registers, "ebp", json_object_new_uint64(registers->Ebp));
+    json_object_object_add(ia32_registers, "esp", json_object_new_uint64(registers->Esp));
+    json_object_object_add(ia32_registers, "cs", json_object_new_uint64(registers->Cs));
+    json_object_object_add(ia32_registers, "ds", json_object_new_uint64(registers->Ds));
+    json_object_object_add(ia32_registers, "ss", json_object_new_uint64(registers->Ss));
+    json_object_object_add(ia32_registers, "es", json_object_new_uint64(registers->Es));
+    json_object_object_add(ia32_registers, "fs", json_object_new_uint64(registers->Fs));
+    json_object_object_add(ia32_registers, "gs", json_object_new_uint64(registers->Gs));
+    json_object_object_add(ia32_registers, "eflags", json_object_new_uint64(registers->Eflags));
+    json_object_object_add(ia32_registers, "eip", json_object_new_uint64(registers->Eip));
+    json_object_object_add(ia32_registers, "cr0", json_object_new_uint64(registers->Cr0));
+    json_object_object_add(ia32_registers, "cr1", json_object_new_uint64(registers->Cr1));
+    json_object_object_add(ia32_registers, "cr2", json_object_new_uint64(registers->Cr2));
+    json_object_object_add(ia32_registers, "cr3", json_object_new_uint64(registers->Cr3));
+    json_object_object_add(ia32_registers, "cr4", json_object_new_uint64(registers->Cr4));
     json_object_object_add(ia32_registers, "gdtr", json_object_new_uint64(registers->Gdtr[0] + ((UINT64)registers->Gdtr[1] << 32)));
     json_object_object_add(ia32_registers, "idtr", json_object_new_uint64(registers->Idtr[0] + ((UINT64)registers->Idtr[1] << 32)));
-    json_object_object_add(ia32_registers, "ldtr", json_object_new_int(registers->Ldtr));
-    json_object_object_add(ia32_registers, "tr", json_object_new_int(registers->Tr));
+    json_object_object_add(ia32_registers, "ldtr", json_object_new_uint64(registers->Ldtr));
+    json_object_object_add(ia32_registers, "tr", json_object_new_uint64(registers->Tr));
 
     return ia32_registers;
 }
diff --git a/sections/cper-section-ia32x64.h b/sections/cper-section-ia32x64.h
index 51af428..238117d 100644
--- a/sections/cper-section-ia32x64.h
+++ b/sections/cper-section-ia32x64.h
@@ -5,12 +5,15 @@
 #include "../edk/Cper.h"
 
 #define IA32X64_PROCESSOR_ERROR_VALID_BITFIELD_NAMES (const char*[]) \
-    {"checkInfoValid", "targetAddressIdentifierValid", "requestorIdentifierValid", "responderIdentifierValid", \
+    {"checkInfoValid", "targetAddressIDValid", "requestorIDValid", "responderIDValid", \
     "instructionPointerValid"}
 #define IA32X64_CHECK_INFO_VALID_BITFIELD_NAMES (const char*[]) \
     {"transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "uncorrectedValid" \
-    "preciseIPValid", "restartableIPValid", "overflowValid", "participationTypeValid", "timeOutValid" \
+    "preciseIPValid", "restartableIPValid", "overflowValid", "participationTypeValid", "timedOutValid" \
     "addressSpaceValid"}
+#define IA32X64_CHECK_INFO_MS_CHECK_VALID_BITFIELD_NAMES (const char*[]) \
+    {"errorTypeValid", "processorContextCorruptValid", "uncorrectedValid", "preciseIPValid", "restartableIPValid", \
+    "overflowValid"}
 #define IA32X64_CHECK_INFO_TRANSACTION_TYPES_KEYS (int []){0, 1, 2}
 #define IA32X64_CHECK_INFO_TRANSACTION_TYPES_VALUES (const char*[]){"Instruction", "Data Access", "Generic"}
 #define IA32X64_CHECK_INFO_OPERATION_TYPES_KEYS (int []){0, 1, 2, 3, 4, 5, 6, 7, 8}
