{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Arm RAS Node Section Revision 1 (Tables 20 & 21)", "type": "object", "additionalProperties": false, "required": ["revision", "componentType", "errorSyndromes"], "properties": { "revision": { "type": "integer", "const": 1, "description": "Header Revision (must be 1)." }, "componentType": { "type": "integer", "minimum": 0, "maximum": 6, "description": "Legacy AEST component type (0..6)." }, "userData": { "type": "string", "maxLength": 16, "description": "Null-terminated user data string (<=15 chars)." }, "errorSyndromes": { "type": "array", "description": "Array of descriptor entries (Table 21).", "items": { "type": "object", "additionalProperties": false, "required": [ "errorRecordIndex", "errorRecordFeatureRegister", "errorRecordControlRegister", "errorRecordPrimaryStatusRegister", "errorRecordAddressRegister", "errorRecordMiscRegister0", "errorRecordMiscRegister1" ], "properties": { "errorRecordIndex": { "type": "integer", "minimum": 0 }, "rasExtensionRevision": { "type": "integer", "minimum": 0, "maximum": 255, "description": "ERRDEVARCH nibble encoding (REVISION:ARCHVER). If 0 then MISC2/3 architecturally invalid." }, "errorRecordFeatureRegister": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Feature Register (ERRFR)." }, "errorRecordControlRegister": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Control Register (ERRCTLR)." }, "errorRecordPrimaryStatusRegister": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Primary Status Register (ERRSTATUS)." }, "errorRecordAddressRegister": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Address Register (ERRADDR)." }, "errorRecordMiscRegister0": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Miscellaneous Register 0 (ERRMISC0)." }, "errorRecordMiscRegister1": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Miscellaneous Register 1 (ERRMISC1)." }, "errorRecordMiscRegister2": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Miscellaneous Register 2 (ERRMISC2)." }, "errorRecordMiscRegister3": { "type": "integer", "minimum": 0, "description": "Contents of the Error Record Miscellaneous Register 3 (ERRMISC3)." } } } }, "auxData": { "type": "object", "description": "Decoded auxiliary data per Tables 22–26. Present only if raw auxData blob was successfully parsed.", "additionalProperties": false, "required": ["version", "contexts", "keyValuePairs"], "properties": { "version": { "type": "integer", "const": 1, "description": "Aux data header version (must be 1)." }, "contexts": { "type": "array", "description": "Address Space Context Array entries (each with register entries).", "items": { "type": "object", "additionalProperties": false, "required": ["flags", "registers"], "properties": { "flags": { "type": "integer", "minimum": 0, "maximum": 255, "description": "Flags; bit0=1 global/system address space, bit0=0 local/component address space." }, "registerArrayLength": { "type": "integer", "minimum": 0, "description": "Length in bytes of the register array region (including all registers)." }, "addressSpaceIdentifier": { "type": "integer", "description": "Optional identifier (present only when global/system address space)." }, "registers": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["address", "value"], "properties": { "address": { "type": "string", "pattern": "^[0-9a-fA-F]{16}$", "description": "Register address (up to 64-bit)." }, "value": { "type": "string", "pattern": "^[0-9a-fA-F]{16}$", "description": "Register value (up to 64-bit)." } } } } } } }, "keyValuePairs": { "type": "array", "description": "Decoded Key-Value Pair Array (UUID + 64-bit value).", "items": { "type": "object", "additionalProperties": false, "properties": { "uuid": { "type": "string", "pattern": "^[0-9a-fA-F]{32}$", "description": "16-byte UUID encoded as 32 hex characters (big-endian)." }, "value": { "type": "integer", "minimum": 0, "description": "Associated 64-bit value for UUID." }, "mpamPartId": { "type": "integer", "minimum": 0, "description": "Convenience decoding when UUID matches MPAM PartID UUID." } } } } } } } }