[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v8 7/7] hw/cxl/events: Add injection of Memory Module Events
|
From: |
Markus Armbruster |
|
Subject: |
Re: [PATCH v8 7/7] hw/cxl/events: Add injection of Memory Module Events |
|
Date: |
Sat, 27 May 2023 07:48:40 +0200 |
|
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Jonathan Cameron <Jonathan.Cameron@huawei.com> writes:
> These events include a copy of the device health information at the
> time of the event. Actually using the emulated device health would
> require a lot of controls to manipulate that state. Given the aim
> of this injection code is to just test the flows when events occur,
> inject the contents of the device health state as well.
>
> Future work may add more sophisticate device health emulation
> including direct generation of these records when events occur
> (such as a temperature threshold being crossed). That does not
> reduce the usefulness of this more basic generation of the events.
>
> Acked-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Fan Ni <fan.ni@samsung.com>
> Reviewed-by: Ira Weiny <ira.weiny@intel.com>
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---
> qapi/cxl.json | 53 +++++++++++++++++++++++++++++++
> include/hw/cxl/cxl_events.h | 19 ++++++++++++
> hw/mem/cxl_type3.c | 62 +++++++++++++++++++++++++++++++++++++
> hw/mem/cxl_type3_stubs.c | 12 +++++++
> 4 files changed, 146 insertions(+)
>
> diff --git a/qapi/cxl.json b/qapi/cxl.json
> index 36bf9fa202..a2e1280573 100644
> --- a/qapi/cxl.json
> +++ b/qapi/cxl.json
> @@ -140,6 +140,59 @@
> '*column': 'uint16', '*correction-mask': [ 'uint64' ]
> }}
>
> +##
> +# @cxl-inject-memory-module-event:
> +#
> +# Inject an event record for a Memory Module Event (CXL r3.0
> +# 8.2.9.2.1.3). This event includes a copy of the Device Health
Two spaces between sentences for consistency, please.
> +# info at the time of the event.
> +#
> +# @path: CXL type 3 device canonical QOM path
> +#
> +# @log: Event Log to add the event to
> +#
> +# @flags: Event Record Flags. See CXL r3.0 Table 8-42 Common Event
> +# Record Format, Event Record Flags for subfield definitions.
> +#
> +# @type: Device Event Type. See CXL r3.0 Table 8-45 Memory Module
> +# Event Record for bit definitions for bit definiions.
> +#
> +# @health-status: Overall health summary bitmap. See CXL r3.0 Table
> +# 8-100 Get Health Info Output Payload, Health Status for bit
> +# definitions.
> +#
> +# @media-status: Overall media health summary. See CXL r3.0 Table
> +# 8-100 Get Health Info Output Payload, Media Status for bit
> +# definitions.
> +#
> +# @additional-status: See CXL r3.0 Table 8-100 Get Health Info Output
> +# Payload, Additional Status for subfield definitions.
> +#
> +# @life-used: Percentage (0-100) of factory expected life span.
> +#
> +# @temperature: Device temperature in degrees Celsius.
> +#
> +# @dirty-shutdown-count: Number of times the device has been unable
> +# to determine whether data loss may have occurred.
> +#
> +# @corrected-volatile-error-count: Total number of correctable errors
> +# in volatile memory.
> +#
> +# @corrected-persistent-error-count: Total number correctable errors
Total number of correctable errors
> +# in persistent memory
> +#
> +# Since: 8.1
> +##
> +{ 'command': 'cxl-inject-memory-module-event',
> + 'data': { 'path': 'str', 'log': 'CxlEventLog', 'flags' : 'uint8',
> + 'type': 'uint8', 'health-status': 'uint8',
> + 'media-status': 'uint8', 'additional-status': 'uint8',
> + 'life-used': 'uint8', 'temperature' : 'int16',
> + 'dirty-shutdown-count': 'uint32',
> + 'corrected-volatile-error-count': 'uint32',
> + 'corrected-persistent-error-count': 'uint32'
> + }}
> +
> ##
> # @cxl-inject-poison:
> #
Neither these nitpicks nor the one on PATCH 5 calls for a respin.
Simply fix them in the PR. Thanks!
[...]
- [PATCH v8 0/7] QEMU CXL Provide mock CXL events and irq support, Jonathan Cameron, 2023/05/26
- [PATCH v8 1/7] hw/cxl/events: Add event status register, Jonathan Cameron, 2023/05/26
- [PATCH v8 2/7] hw/cxl: Move CXLRetCode definition to cxl_device.h, Jonathan Cameron, 2023/05/26
- [PATCH v8 3/7] hw/cxl/events: Wire up get/clear event mailbox commands, Jonathan Cameron, 2023/05/26
- [PATCH v8 4/7] hw/cxl/events: Add event interrupt support, Jonathan Cameron, 2023/05/26
- [PATCH v8 5/7] hw/cxl/events: Add injection of General Media Events, Jonathan Cameron, 2023/05/26
- [PATCH v8 6/7] hw/cxl/events: Add injection of DRAM events, Jonathan Cameron, 2023/05/26
- [PATCH v8 7/7] hw/cxl/events: Add injection of Memory Module Events, Jonathan Cameron, 2023/05/26
- Re: [PATCH v8 7/7] hw/cxl/events: Add injection of Memory Module Events,
Markus Armbruster <=