shiju.jose--- via <[email protected]> writes:
> From: Shiju Jose <[email protected]>
>
> CXL spec rev3.2 section 8.2.10.2.1.2 Table 8-58, DRAM event record
> has updated with following new fields.
> 1. Component Identifier
> 2. Sub-channel of the memory event location
> 3. Advanced Programmable Corrected Memory Error Threshold Event Flags
> 4. Corrected Volatile Memory Error Count at Event
> 5. Memory Event Sub-Type
>
> Add updates for the above spec changes in the CXL DRAM event
> reporting and QMP command to inject DRAM event.
>
> Signed-off-by: Jonathan Cameron <[email protected]>
> Signed-off-by: Shiju Jose <[email protected]>
[...]
> diff --git a/qapi/cxl.json b/qapi/cxl.json
> index e8060d16f7..f84088c0b9 100644
> --- a/qapi/cxl.json
> +++ b/qapi/cxl.json
> @@ -171,6 +171,26 @@
> # @correction-mask: Bits within each nibble. Used in order of bits
> # set in the nibble-mask. Up to 4 nibbles may be covered.
> #
> +# @component-id: Device specific component identifier for the event.
> +# May describe a field replaceable sub-component of the device.
Identical to cxl-inject-general-media-event's argument, except ...
> +# See CXL r3.2 Table 8-58 DRAM Event Record.
... we don't have such a reference there. Should we?
> +#
> +# @is-comp-id-pldm: Flag represents device specific component identifier
> +# format is PLDM or not.
> +#
> +# @sub-channel: The sub-channel of the memory event location.
> +# See CXL r3.2 Table 8-58 DRAM Event Record.
> +#
> +# @cme-ev-flags: Advanced programmable corrected memory error
> +# threshold event flags.
> +# See CXL r3.2 Table 8-58 DRAM Event Record.
> +#
> +# @cvme-count: Corrected volatile memory error count at event.
> +# See CXL r3.2 Table 8-58 DRAM Event Record.
> +#
> +# @sub-type: Memory event sub-type.
> +# See CXL r3.2 Table 8-58 DRAM Event Record.
> +#
Same additions to cxl-inject-dram-event as in the previous patch to
cxl-inject-general-media-event, except this one also adds @component-id
(which already cxl-inject-general-media-event already had), and
@sub-channel.
See also my comment on duplication in review of PATCH 1.
> # Since: 8.1
> ##
> { 'command': 'cxl-inject-dram-event',
> @@ -181,7 +201,11 @@
> 'type': 'uint8', 'transaction-type': 'uint8',
> '*channel': 'uint8', '*rank': 'uint8', '*nibble-mask': 'uint32',
> '*bank-group': 'uint8', '*bank': 'uint8', '*row': 'uint32',
> - '*column': 'uint16', '*correction-mask': [ 'uint64' ]
> + '*column': 'uint16', '*correction-mask': [ 'uint64' ],
> + '*component-id': 'str', '*is-comp-id-pldm':'uint8',
> + '*sub-channel':'uint8',
> + '*cme-ev-flags':'uint8', '*cvme-count':'uint32',
> + 'sub-type':'uint8'
> }}
>
> ##