]> git.proxmox.com Git - mirror_qemu.git/blame - qapi/cxl.json
bswap: Add the ability to store to an unaligned 24 bit field
[mirror_qemu.git] / qapi / cxl.json
CommitLineData
415442a1
JC
1# -*- Mode: Python -*-
2# vim: filetype=python
3
4##
5# = CXL devices
6##
7
8##
9# @CxlUncorErrorType:
10#
a937b6aa
MA
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#
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
415442a1 23#
415442a1 24# @cache-data-ecc: ECC error on CXL.cache
a937b6aa
MA
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#
415442a1 35# @mem-data-ecc: Data ECC error on CXL.mem.
a937b6aa 36#
415442a1 37# @reinit-threshold: REINIT threshold hit.
a937b6aa 38#
415442a1 39# @rsvd-encoding: Received unrecognized encoding.
a937b6aa 40#
415442a1 41# @poison-received: Received poison from the peer.
a937b6aa
MA
42#
43# @receiver-overflow: Buffer overflows (first 3 bits of header log
44# indicate which)
45#
415442a1 46# @internal: Component specific error
a937b6aa 47#
415442a1 48# @cxl-ide-tx: Integrity and data encryption tx error.
a937b6aa 49#
415442a1
JC
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',
58 'cache-be-parity',
59 'cache-data-ecc',
60 'mem-data-parity',
61 'mem-address-parity',
62 'mem-be-parity',
63 'mem-data-ecc',
64 'reinit-threshold',
65 'rsvd-encoding',
66 'poison-received',
67 'receiver-overflow',
68 'internal',
69 'cxl-ide-tx',
70 'cxl-ide-rx'
71 ]
72 }
73
74##
75# @CXLUncorErrorRecord:
76#
77# Record of a single error including header log.
78#
79# @type: Type of error
a937b6aa 80#
415442a1
JC
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#
a937b6aa
MA
95# Command to allow injection of multiple errors in one go. This
96# allows testing of multiple header log handling in the OS.
415442a1
JC
97#
98# @path: CXL Type 3 device canonical QOM path
a937b6aa 99#
415442a1
JC
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
a937b6aa 114#
415442a1 115# @mem-data-ecc: Data ECC error on CXL.mem
a937b6aa
MA
116#
117# @crc-threshold: Component specific and applicable to 68 byte Flit
118# mode only.
119#
415442a1 120# @cache-poison-received: Received poison from a peer on CXL.cache.
a937b6aa 121#
415442a1 122# @mem-poison-received: Received poison from a peer on CXL.mem
a937b6aa 123#
415442a1
JC
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#
a937b6aa
MA
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.
415442a1
JC
146#
147# @path: CXL Type 3 device canonical QOM path
a937b6aa 148#
415442a1
JC
149# @type: Type of error.
150#
151# Since: 8.0
152##
a937b6aa
MA
153{'command': 'cxl-inject-correctable-error',
154 'data': {'path': 'str', 'type': 'CxlCorErrorType'}}