11 # Type of uncorrectable CXL error to inject. These errors are reported via
12 # an AER uncorrectable internal error with additional information logged at
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
19 # @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.
24 # @mem-data-ecc: Data ECC error on CXL.mem.
25 # @reinit-threshold: REINIT threshold hit.
26 # @rsvd-encoding: Received unrecognized encoding.
27 # @poison-received: Received poison from the peer.
28 # @receiver-overflow: Buffer overflows (first 3 bits of header log indicate which)
29 # @internal: Component specific error
30 # @cxl-ide-tx: Integrity and data encryption tx error.
31 # @cxl-ide-rx: Integrity and data encryption rx error.
36 { 'enum': 'CxlUncorErrorType',
37 'data': ['cache-data-parity',
38 'cache-address-parity',
56 # @CXLUncorErrorRecord:
58 # Record of a single error including header log.
60 # @type: Type of error
61 # @header: 16 DWORD of header.
65 { 'struct': 'CXLUncorErrorRecord',
67 'type': 'CxlUncorErrorType',
68 'header': [ 'uint32' ]
73 # @cxl-inject-uncorrectable-errors:
75 # Command to allow injection of multiple errors in one go. This allows testing
76 # of multiple header log handling in the OS.
78 # @path: CXL Type 3 device canonical QOM path
79 # @errors: Errors to inject
83 { 'command': 'cxl-inject-uncorrectable-errors',
84 'data': { 'path': 'str',
85 'errors': [ 'CXLUncorErrorRecord' ] }}
90 # Type of CXL correctable error to inject
92 # @cache-data-ecc: Data ECC error on CXL.cache
93 # @mem-data-ecc: Data ECC error on CXL.mem
94 # @crc-threshold: Component specific and applicable to 68 byte Flit mode only.
95 # @cache-poison-received: Received poison from a peer on CXL.cache.
96 # @mem-poison-received: Received poison from a peer on CXL.mem
97 # @physical: Received error indication from the physical layer.
101 { 'enum': 'CxlCorErrorType',
102 'data': ['cache-data-ecc',
106 'cache-poison-received',
107 'mem-poison-received',
112 # @cxl-inject-correctable-error:
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.
119 # @path: CXL Type 3 device canonical QOM path
120 # @type: Type of error.
124 { 'command': 'cxl-inject-correctable-error',
125 'data': { 'path': 'str',
126 'type': 'CxlCorErrorType'