cxl.json (674acdd17808052519aafcbee1583ad89b66181a) | cxl.json (a937b6aa739f65f2cae2ad9a7eb65a309ad2a359) |
---|---|
1# -*- Mode: Python -*- 2# vim: filetype=python 3 4## 5# = CXL devices 6## 7 8## 9# @CxlUncorErrorType: 10# | 1# -*- Mode: Python -*- 2# vim: filetype=python 3 4## 5# = CXL devices 6## 7 8## 9# @CxlUncorErrorType: 10# |
11# Type of uncorrectable CXL error to inject. These errors are reported via 12# an AER uncorrectable internal error with additional information logged at 13# the CXL device. | 11# Type of uncorrectable CXL error to inject. These errors are 12# reported via an AER uncorrectable internal error with additional 13# information logged at the CXL device. |
14# | 14# |
15# @cache-data-parity: Data error such as data parity or data ECC error CXL.cache 16# @cache-address-parity: Address parity or other errors associated with the 17# address field on CXL.cache 18# @cache-be-parity: Byte enable parity or other byte enable errors on CXL.cache | 15# @cache-data-parity: Data error such as data parity or data ECC error 16# CXL.cache 17# 18# @cache-address-parity: Address parity or other errors associated 19# with the address field on CXL.cache 20# 21# @cache-be-parity: Byte enable parity or other byte enable errors on 22# CXL.cache 23# |
19# @cache-data-ecc: ECC error on CXL.cache | 24# @cache-data-ecc: ECC error on CXL.cache |
20# @mem-data-parity: Data error such as data parity or data ECC error on CXL.mem 21# @mem-address-parity: Address parity or other errors associated with the 22# address field on CXL.mem 23# @mem-be-parity: Byte enable parity or other byte enable errors on CXL.mem. | 25# 26# @mem-data-parity: Data error such as data parity or data ECC error 27# on CXL.mem 28# 29# @mem-address-parity: Address parity or other errors associated with 30# the address field on CXL.mem 31# 32# @mem-be-parity: Byte enable parity or other byte enable errors on 33# CXL.mem. 34# |
24# @mem-data-ecc: Data ECC error on CXL.mem. | 35# @mem-data-ecc: Data ECC error on CXL.mem. |
36# |
|
25# @reinit-threshold: REINIT threshold hit. | 37# @reinit-threshold: REINIT threshold hit. |
38# |
|
26# @rsvd-encoding: Received unrecognized encoding. | 39# @rsvd-encoding: Received unrecognized encoding. |
40# |
|
27# @poison-received: Received poison from the peer. | 41# @poison-received: Received poison from the peer. |
28# @receiver-overflow: Buffer overflows (first 3 bits of header log indicate which) | 42# 43# @receiver-overflow: Buffer overflows (first 3 bits of header log 44# indicate which) 45# |
29# @internal: Component specific error | 46# @internal: Component specific error |
47# |
|
30# @cxl-ide-tx: Integrity and data encryption tx error. | 48# @cxl-ide-tx: Integrity and data encryption tx error. |
49# |
|
31# @cxl-ide-rx: Integrity and data encryption rx error. 32# 33# Since: 8.0 34## 35 36{ 'enum': 'CxlUncorErrorType', 37 'data': ['cache-data-parity', 38 'cache-address-parity', --- 14 unchanged lines hidden (view full) --- 53 } 54 55## 56# @CXLUncorErrorRecord: 57# 58# Record of a single error including header log. 59# 60# @type: Type of error | 50# @cxl-ide-rx: Integrity and data encryption rx error. 51# 52# Since: 8.0 53## 54 55{ 'enum': 'CxlUncorErrorType', 56 'data': ['cache-data-parity', 57 'cache-address-parity', --- 14 unchanged lines hidden (view full) --- 72 } 73 74## 75# @CXLUncorErrorRecord: 76# 77# Record of a single error including header log. 78# 79# @type: Type of error |
80# |
|
61# @header: 16 DWORD of header. 62# 63# Since: 8.0 64## 65{ 'struct': 'CXLUncorErrorRecord', 66 'data': { 67 'type': 'CxlUncorErrorType', 68 'header': [ 'uint32' ] 69 } 70} 71 72## 73# @cxl-inject-uncorrectable-errors: 74# | 81# @header: 16 DWORD of header. 82# 83# Since: 8.0 84## 85{ 'struct': 'CXLUncorErrorRecord', 86 'data': { 87 'type': 'CxlUncorErrorType', 88 'header': [ 'uint32' ] 89 } 90} 91 92## 93# @cxl-inject-uncorrectable-errors: 94# |
75# Command to allow injection of multiple errors in one go. This allows testing 76# of multiple header log handling in the OS. | 95# Command to allow injection of multiple errors in one go. This 96# allows testing of multiple header log handling in the OS. |
77# 78# @path: CXL Type 3 device canonical QOM path | 97# 98# @path: CXL Type 3 device canonical QOM path |
99# |
|
79# @errors: Errors to inject 80# 81# Since: 8.0 82## 83{ 'command': 'cxl-inject-uncorrectable-errors', 84 'data': { 'path': 'str', 85 'errors': [ 'CXLUncorErrorRecord' ] }} 86 87## 88# @CxlCorErrorType: 89# 90# Type of CXL correctable error to inject 91# 92# @cache-data-ecc: Data ECC error on CXL.cache | 100# @errors: Errors to inject 101# 102# Since: 8.0 103## 104{ 'command': 'cxl-inject-uncorrectable-errors', 105 'data': { 'path': 'str', 106 'errors': [ 'CXLUncorErrorRecord' ] }} 107 108## 109# @CxlCorErrorType: 110# 111# Type of CXL correctable error to inject 112# 113# @cache-data-ecc: Data ECC error on CXL.cache |
114# |
|
93# @mem-data-ecc: Data ECC error on CXL.mem | 115# @mem-data-ecc: Data ECC error on CXL.mem |
94# @crc-threshold: Component specific and applicable to 68 byte Flit mode only. | 116# 117# @crc-threshold: Component specific and applicable to 68 byte Flit 118# mode only. 119# |
95# @cache-poison-received: Received poison from a peer on CXL.cache. | 120# @cache-poison-received: Received poison from a peer on CXL.cache. |
121# |
|
96# @mem-poison-received: Received poison from a peer on CXL.mem | 122# @mem-poison-received: Received poison from a peer on CXL.mem |
123# |
|
97# @physical: Received error indication from the physical layer. 98# 99# Since: 8.0 100## 101{ 'enum': 'CxlCorErrorType', 102 'data': ['cache-data-ecc', 103 'mem-data-ecc', 104 'crc-threshold', 105 'retry-threshold', 106 'cache-poison-received', 107 'mem-poison-received', 108 'physical'] 109} 110 111## 112# @cxl-inject-correctable-error: 113# | 124# @physical: Received error indication from the physical layer. 125# 126# Since: 8.0 127## 128{ 'enum': 'CxlCorErrorType', 129 'data': ['cache-data-ecc', 130 'mem-data-ecc', 131 'crc-threshold', 132 'retry-threshold', 133 'cache-poison-received', 134 'mem-poison-received', 135 'physical'] 136} 137 138## 139# @cxl-inject-correctable-error: 140# |
114# Command to inject a single correctable error. Multiple error injection 115# of this error type is not interesting as there is no associated header log. 116# These errors are reported via AER as a correctable internal error, with 117# additional detail available from the CXL device. | 141# Command to inject a single correctable error. Multiple error 142# injection of this error type is not interesting as there is no 143# associated header log. These errors are reported via AER as a 144# correctable internal error, with additional detail available from 145# the CXL device. |
118# 119# @path: CXL Type 3 device canonical QOM path | 146# 147# @path: CXL Type 3 device canonical QOM path |
148# |
|
120# @type: Type of error. 121# 122# Since: 8.0 123## | 149# @type: Type of error. 150# 151# Since: 8.0 152## |
124{ 'command': 'cxl-inject-correctable-error', 125 'data': { 'path': 'str', 126 'type': 'CxlCorErrorType' 127 } 128} | 153{'command': 'cxl-inject-correctable-error', 154 'data': {'path': 'str', 'type': 'CxlCorErrorType'}} |