xref: /openbmc/libcper/specification/json/cper-json-header.json (revision 7a531ff443c5ab48e5a6dfbdfd28f41a18dcb308)
1{
2    "$id": "cper-json-header",
3    "$schema": "https://json-schema.org/draft/2020-12/schema",
4    "description": "Common Platform Record Header as defined in UEFI Appendix N section 2.1",
5    "type": "object",
6    "required": [
7        "revision",
8        "sectionCount",
9        "severity",
10        "recordLength",
11        "creatorID",
12        "notificationType",
13        "recordID",
14        "flags",
15        "persistenceInfo"
16    ],
17    "additionalProperties": false,
18    "properties": {
19        "revision": {
20            "type": "object",
21            "description": "This is a 2-byte field representing a major and minor version number for the error record definition in BCD format. ",
22            "required": ["major", "minor"],
23            "additionalProperties": false,
24            "properties": {
25                "major": {
26                    "type": "integer",
27                    "minimum": 0
28                },
29                "minor": {
30                    "type": "integer",
31                    "minimum": 0
32                }
33            }
34        },
35        "sectionCount": {
36            "type": "integer",
37            "description": "his field indicates the number of valid sections associated with the record, corresponding to each of the following section descriptors.",
38            "minimum": 0
39        },
40        "severity": {
41            "type": "object",
42            "description": "Indicates the severity of the error condition. The severity of the error record corresponds to the most severe error section.",
43            "required": ["name", "code"],
44            "additionalProperties": false,
45            "properties": {
46                "name": {
47                    "type": "string"
48                },
49                "code": {
50                    "type": "integer",
51                    "minimum": 0
52                }
53            }
54        },
55        "recordLength": {
56            "type": "integer",
57            "description": "Indicates the size of the actual error record, including the size of the record header, all section descriptors, and section bodies.",
58            "minimum": 0
59        },
60        "timestamp": {
61            "type": "string",
62            "description": "The timestamp correlates to the time when the error information was collected by the system software and may not necessarily represent the time of the error event."
63        },
64        "timestampIsPrecise": {
65            "type": "boolean",
66            "description": "Timestamp is precise if this bit is set and correlates to the time of the error event."
67        },
68        "platformID": {
69            "type": "string",
70            "description": "This field uniquely identifies the platform with a GUID. The platform’s SMBIOS UUID should be used to populate this field."
71        },
72        "partitionID": {
73            "type": "string",
74            "description": "If the platform has multiple software partitions, system software may associate a GUID with the partition on which the error occurred."
75        },
76        "creatorID": {
77            "type": "string",
78            "description": "This field contains a GUID indicating the creator of the error record. This value may be overwritten by subsequent owners of the record."
79        },
80        "notificationType": {
81            "type": "object",
82            "description": "This field holds a pre-assigned GUID value indicating the record association with an error event notification type.",
83            "required": ["guid", "type"],
84            "additionalProperties": false,
85            "properties": {
86                "guid": {
87                    "type": "string",
88                    "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}$"
89                },
90                "type": {
91                    "type": "string"
92                }
93            }
94        },
95        "recordID": {
96            "type": "integer",
97            "description": "This value, when combined with the Creator ID, uniquely identifies the error record across other error records on a given system."
98        },
99        "flags": {
100            "type": "object",
101            "description": "Flags field contains information that describes the error record.",
102            "$ref": "./common/cper-json-nvp.json"
103        },
104        "persistenceInfo": {
105            "type": "integer",
106            "description": "This field is produced and consumed by the creator of the error record identified in the Creator ID field. The format of this field is defined by the creator"
107        }
108    }
109}
110