hw/cxl/cxl-mailbox-utils: Add dc_event_log_size field to output payload of identify memory device command
Based on CXL spec r3.1 Table 8-127 (Identify Memory Device Output Payload), dynamic capacity event log size should be part of output of the Identify command. Add dc_event_log_size to the output payload for the host to get the info. Reviewed-by: Gregory Price <gregory.price@memverge.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Fan Ni <fan.ni@samsung.com> Message-Id: <20240523174651.1089554-4-nifan.cxl@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
67adb7979b
commit
7a21e5dedb
@ -21,6 +21,7 @@
|
||||
#include "sysemu/hostmem.h"
|
||||
|
||||
#define CXL_CAPACITY_MULTIPLIER (256 * MiB)
|
||||
#define CXL_DC_EVENT_LOG_SIZE 8
|
||||
|
||||
/*
|
||||
* How to add a new command, example. The command set FOO, with cmd BAR.
|
||||
@ -780,8 +781,9 @@ static CXLRetCode cmd_identify_memory_device(const struct cxl_cmd *cmd,
|
||||
uint16_t inject_poison_limit;
|
||||
uint8_t poison_caps;
|
||||
uint8_t qos_telemetry_caps;
|
||||
uint16_t dc_event_log_size;
|
||||
} QEMU_PACKED *id;
|
||||
QEMU_BUILD_BUG_ON(sizeof(*id) != 0x43);
|
||||
QEMU_BUILD_BUG_ON(sizeof(*id) != 0x45);
|
||||
CXLType3Dev *ct3d = CXL_TYPE3(cci->d);
|
||||
CXLType3Class *cvc = CXL_TYPE3_GET_CLASS(ct3d);
|
||||
CXLDeviceState *cxl_dstate = &ct3d->cxl_dstate;
|
||||
@ -807,6 +809,7 @@ static CXLRetCode cmd_identify_memory_device(const struct cxl_cmd *cmd,
|
||||
st24_le_p(id->poison_list_max_mer, 256);
|
||||
/* No limit - so limited by main poison record limit */
|
||||
stw_le_p(&id->inject_poison_limit, 0);
|
||||
stw_le_p(&id->dc_event_log_size, CXL_DC_EVENT_LOG_SIZE);
|
||||
|
||||
*len_out = sizeof(*id);
|
||||
return CXL_MBOX_SUCCESS;
|
||||
|
Loading…
Reference in New Issue
Block a user