blob: ef1f3da12849abc359731405aaa4436980ddcc26 [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
Lawrence Tang079d5812022-07-12 14:15:32 +01002 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "type": "object",
John Chung044afd02024-05-03 19:58:02 +08004 "required": [
5 "validationBits",
6 "errorStatus",
7 "idInfo",
8 "memoryNumber",
9 "ioNumber",
10 "registerDataPairs"
11 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010012 "additionalProperties": false,
13 "properties": {
14 "validationBits": {
15 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080016 "description": "Indicates which other fields are valid in the section.",
John Chung044afd02024-05-03 19:58:02 +080017 "required": [
18 "errorStatusValid",
19 "idInfoValid",
20 "memoryNumberValid",
21 "ioNumberValid",
22 "registerDataPairsValid"
23 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010024 "properties": {
25 "errorStatusValid": {
26 "type": "boolean"
27 },
28 "idInfoValid": {
29 "type": "boolean"
30 },
31 "memoryNumberValid": {
32 "type": "boolean"
33 },
34 "ioNumberValid": {
35 "type": "boolean"
36 },
37 "registerDataPairsValid": {
38 "type": "boolean"
39 }
40 }
41 },
42 "errorStatus": {
43 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080044 "description": "PCI Component Error Status.",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010045 "$ref": "./common/cper-json-error-status.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010046 },
47 "idInfo": {
48 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080049 "description": "Identification Information",
John Chung044afd02024-05-03 19:58:02 +080050 "required": [
51 "vendorID",
52 "deviceID",
53 "classCode",
54 "functionNumber",
55 "deviceNumber",
56 "busNumber",
57 "segmentNumber"
58 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010059 "properties": {
60 "vendorID": {
61 "type": "integer"
62 },
63 "deviceID": {
64 "type": "integer"
65 },
66 "classCode": {
67 "type": "integer"
68 },
69 "functionNumber": {
70 "type": "integer"
71 },
72 "deviceNumber": {
73 "type": "integer"
74 },
75 "busNumber": {
76 "type": "integer"
77 },
78 "segmentNumber": {
79 "type": "integer"
80 }
81 }
82 },
83 "memoryNumber": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080084 "type": "integer",
85 "description": "Number of PCI Component Memory Mapped register address/data pair values present in this structure."
Lawrence Tang079d5812022-07-12 14:15:32 +010086 },
87 "ioNumber": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080088 "type": "integer",
89 "description": "Number of PCI Component Programmed IO register address/data pair values present in this structure."
Lawrence Tang079d5812022-07-12 14:15:32 +010090 },
91 "registerDataPairs": {
92 "type": "array",
Andrew Adrianced9835a12024-12-05 14:41:42 -080093 "description": "An array of address/data pair values.",
Lawrence Tang079d5812022-07-12 14:15:32 +010094 "items": {
95 "type": "object",
96 "required": ["firstHalf", "secondHalf"],
97 "properties": {
98 "firstHalf": {
99 "type": "integer"
100 },
101 "secondHalf": {
102 "type": "integer"
103 }
104 }
105 }
106 }
107 }
John Chung044afd02024-05-03 19:58:02 +0800108}