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.
15 # @cache-data-parity: Data error such as data parity or data ECC error
18 # @cache-address-parity: Address parity or other errors associated
19 # with the address field on CXL.cache
21 # @cache-be-parity: Byte enable parity or other byte enable errors on
24 # @cache-data-ecc: ECC error on CXL.cache
26 # @mem-data-parity: Data error such as data parity or data ECC error
29 # @mem-address-parity: Address parity or other errors associated with
30 # the address field on CXL.mem
32 # @mem-be-parity: Byte enable parity or other byte enable errors on
35 # @mem-data-ecc: Data ECC error on CXL.mem.
37 # @reinit-threshold: REINIT threshold hit.
39 # @rsvd-encoding: Received unrecognized encoding.
41 # @poison-received: Received poison from the peer.
43 # @receiver-overflow: Buffer overflows (first 3 bits of header log
46 # @internal: Component specific error
48 # @cxl-ide-tx: Integrity and data encryption tx error.
50 # @cxl-ide-rx: Integrity and data encryption rx error.
55 { 'enum': 'CxlUncorErrorType',
56 'data': ['cache-data-parity',
57 'cache-address-parity',
75 # @CXLUncorErrorRecord:
77 # Record of a single error including header log.
79 # @type: Type of error
81 # @header: 16 DWORD of header.
85 { 'struct': 'CXLUncorErrorRecord',
87 'type': 'CxlUncorErrorType',
88 'header': [ 'uint32' ]
93 # @cxl-inject-uncorrectable-errors:
95 # Command to allow injection of multiple errors in one go. This
96 # allows testing of multiple header log handling in the OS.
98 # @path: CXL Type 3 device canonical QOM path
100 # @errors: Errors to inject
104 { 'command': 'cxl-inject-uncorrectable-errors',
105 'data': { 'path': 'str',
106 'errors': [ 'CXLUncorErrorRecord' ] }}
111 # Type of CXL correctable error to inject
113 # @cache-data-ecc: Data ECC error on CXL.cache
115 # @mem-data-ecc: Data ECC error on CXL.mem
117 # @crc-threshold: Component specific and applicable to 68 byte Flit
120 # @cache-poison-received: Received poison from a peer on CXL.cache.
122 # @mem-poison-received: Received poison from a peer on CXL.mem
124 # @physical: Received error indication from the physical layer.
128 { 'enum': 'CxlCorErrorType',
129 'data': ['cache-data-ecc',
133 'cache-poison-received',
134 'mem-poison-received',
139 # @cxl-inject-correctable-error:
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
147 # @path: CXL Type 3 device canonical QOM path
149 # @type: Type of error.
153 {'command': 'cxl-inject-correctable-error',
154 'data': {'path': 'str', 'type': 'CxlCorErrorType'}}