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