Lawrence Tang | 7f21db6 | 2022-07-06 11:09:39 +0100 | [diff] [blame^] | 1 | #ifndef CPER_SECTION_ARM_H |
| 2 | #define CPER_SECTION_ARM_H |
| 3 | |
| 4 | #include "json.h" |
| 5 | #include "../edk/Cper.h" |
| 6 | |
| 7 | #define MEMORY_ERROR_VALID_BITFIELD_NAMES (const char*[]) \ |
| 8 | {"errorStatusValid", "physicalAddressValid", "physicalAddressMaskValid", "nodeValid", "cardValid", "moduleValid", \ |
| 9 | "bankValid", "deviceValid", "rowValid", "columnValid", "bitPositionValid", "platformRequestorIDValid", \ |
| 10 | "platformResponderIDValid", "memoryPlatformTargetValid", "memoryErrorTypeValid", "rankNumberValid", \ |
| 11 | "cardHandleValid", "moduleHandleValid", "extendedRowBitsValid", "bankGroupValid", "bankAddressValid", \ |
| 12 | "chipIdentificationValid"} |
| 13 | #define MEMORY_ERROR_ERROR_TYPES_KEYS (int []){1, 16, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26} |
| 14 | #define MEMORY_ERROR_ERROR_TYPES_VALUES (const char*[]){"ERR_INTERNAL", "ERR_BUS", "ERR_MEM", "ERR_TLB", \ |
| 15 | "ERR_CACHE", "ERR_FUNCTION", "ERR_SELFTEST", "ERR_FLOW", "ERR_MAP", "ERR_IMPROPER", "ERR_UNIMPL", \ |
| 16 | "ERR_LOL", "ERR_RESPONSE", "ERR_PARITY", "ERR_PROTOCOL", "ERR_ERROR", "ERR_TIMEOUT", "ERR_POISONED"} |
| 17 | #define MEMORY_ERROR_ERROR_TYPES_DESCRIPTIONS (const char*[]){\ |
| 18 | "Error detected internal to the component.", \ |
| 19 | "Error detected in the bus.", \ |
| 20 | "Storage error in memory (DRAM).", \ |
| 21 | "Storage error in TLB.", \ |
| 22 | "Storage error in cache.", \ |
| 23 | "Error in one or more functional units.", \ |
| 24 | "Component failed self test.", \ |
| 25 | "Overflow or underflow of internal queue.", \ |
| 26 | "Virtual address not found on IO-TLB or IO-PDIR.", \ |
| 27 | "Improper access error.", \ |
| 28 | "Access to a memory address which is not mapped to any component.", \ |
| 29 | "Loss of Lockstep error.", \ |
| 30 | "Response not associated with a request.", \ |
| 31 | "Bus parity error (must also set the A, C, or D bits).", \ |
| 32 | "Detection of a protocol error.", \ |
| 33 | "Detection of a PATH_ERROR.", \ |
| 34 | "Bus operation timeout.", \ |
| 35 | "A read was issued to data that has been poisoned."} |
| 36 | |
| 37 | json_object* cper_section_memory_to_ir(void* section, EFI_ERROR_SECTION_DESCRIPTOR* descriptor); |
| 38 | |
| 39 | #endif |