1{ 2 "$id": "cper-json-section-descriptor", 3 "$schema": "https://json-schema.org/draft/2020-12/schema", 4 "type": "object", 5 "description": "Common Platform Record Section Descriptor as defined in UEFI Appendix N section 2.2", 6 "required": [ 7 "sectionOffset", 8 "sectionLength", 9 "revision", 10 "validationBits", 11 "flags", 12 "sectionType", 13 "severity" 14 ], 15 "additionalProperties": false, 16 "properties": { 17 "sectionOffset": { 18 "type": "integer", 19 "description": "Offset in bytes of the section body from the base of the record header." 20 }, 21 "sectionLength": { 22 "type": "integer", 23 "description": "The length in bytes of the section body." 24 }, 25 "revision": { 26 "type": "object", 27 "description": "This is a 2-byte field representing a major and minor version number for the error record definition in BCD format.", 28 "required": ["major", "minor"], 29 "properties": { 30 "major": { 31 "type": "integer", 32 "minimum": 0 33 }, 34 "minor": { 35 "type": "integer", 36 "minimum": 0 37 } 38 } 39 }, 40 "validationBits": { 41 "type": "object", 42 "description": "This field indicates the validity of other feilds in this descriptor.", 43 "required": ["fruIDValid", "fruStringValid"], 44 "properties": { 45 "fruIDValid": { 46 "type": "boolean" 47 }, 48 "fruStringValid": { 49 "type": "boolean" 50 } 51 } 52 }, 53 "flags": { 54 "type": "object", 55 "required": [ 56 "primary", 57 "containmentWarning", 58 "reset", 59 "errorThresholdExceeded", 60 "resourceNotAccessible", 61 "latentError", 62 "propagated", 63 "overflow" 64 ], 65 "properties": { 66 "primary": { 67 "type": "boolean", 68 "description": "If set, identifies the section as the section to be associated with the error condition." 69 }, 70 "containmentWarning": { 71 "type": "boolean", 72 "description": "If set, the error was not contained within the processor or memory hierarchy and the error may have propagated to persistent storage or network." 73 }, 74 "reset": { 75 "type": "boolean", 76 "description": "If set, the component has been reset and must be re-initialized or re-enabled by the operating system prior to use." 77 }, 78 "errorThresholdExceeded": { 79 "type": "boolean", 80 "description": "If set, OS may choose to discontinue use of this resource." 81 }, 82 "resourceNotAccessible": { 83 "type": "boolean", 84 "description": "If set, the resource could not be queried for error information due to conflicts with other system software or resources." 85 }, 86 "latentError": { 87 "type": "boolean", 88 "description": "If set this flag indicates that action has been taken to ensure error containment" 89 }, 90 "propagated": { 91 "type": "boolean", 92 "description": "If set this flag indicates the section is to be associated with an error that has been propagated due to hardware poisoning." 93 }, 94 "overflow": { 95 "type": "boolean", 96 "description": "If set this flag indicates the firmware has detected an overflow of buffers/queues that are used to accumulate, collect, or report errors" 97 } 98 } 99 }, 100 "sectionType": { 101 "type": "object", 102 "description": "This field holds a pre-assigned GUID value indicating that it is a section of a particular error.", 103 "required": ["data", "type"], 104 "properties": { 105 "data": { 106 "type": "string", 107 "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{16}$" 108 }, 109 "type": { 110 "type": "string" 111 } 112 } 113 }, 114 "fruID": { 115 "type": "string", 116 "description": "GUID representing the FRU ID, if it exists, for the section reporting the error. The default value is zero indicating an invalid FRU ID." 117 }, 118 "severity": { 119 "type": "object", 120 "description": "This field indicates the severity associated with the error section.", 121 "required": ["code", "name"], 122 "properties": { 123 "code": { 124 "type": "integer", 125 "minimum": 0 126 }, 127 "name": { 128 "type": "string" 129 } 130 } 131 }, 132 "fruText": { 133 "type": "string", 134 "description": "ASCII string identifying the FRU hardware." 135 } 136 } 137} 138