hw/cxl/mailbox: Use new UUID network order define for cel_uuid
The cel_uuid was programatically generated previously because there was no static initializer for network order UUIDs. Use the new network order initializer for cel_uuid. Adjust cxl_initialize_mailbox() because it can't fail now. Update specification reference. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Gregory Price <gregory.price@memverge.com> Tested-by: Gregory Price <gregory.price@memverge.com> Signed-off-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Message-Id: <20230206172816.8201-11-Jonathan.Cameron@huawei.com> Reviewed-by: Fan Ni <fan.ni@samsung.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
845476cb67
commit
e16add2b6b
@ -267,5 +267,5 @@ void cxl_device_register_init_common(CXLDeviceState *cxl_dstate)
|
|||||||
cxl_device_cap_init(cxl_dstate, MEMORY_DEVICE, 0x4000);
|
cxl_device_cap_init(cxl_dstate, MEMORY_DEVICE, 0x4000);
|
||||||
memdev_reg_init_common(cxl_dstate);
|
memdev_reg_init_common(cxl_dstate);
|
||||||
|
|
||||||
assert(cxl_initialize_mailbox(cxl_dstate) == 0);
|
cxl_initialize_mailbox(cxl_dstate);
|
||||||
}
|
}
|
||||||
|
@ -193,7 +193,11 @@ static ret_code cmd_timestamp_set(struct cxl_cmd *cmd,
|
|||||||
return CXL_MBOX_SUCCESS;
|
return CXL_MBOX_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static QemuUUID cel_uuid;
|
/* CXL 3.0 8.2.9.5.2.1 Command Effects Log (CEL) */
|
||||||
|
static const QemuUUID cel_uuid = {
|
||||||
|
.data = UUID(0x0da9c0b5, 0xbf41, 0x4b78, 0x8f, 0x79,
|
||||||
|
0x96, 0xb1, 0x62, 0x3b, 0x3f, 0x17)
|
||||||
|
};
|
||||||
|
|
||||||
/* 8.2.9.4.1 */
|
/* 8.2.9.4.1 */
|
||||||
static ret_code cmd_logs_get_supported(struct cxl_cmd *cmd,
|
static ret_code cmd_logs_get_supported(struct cxl_cmd *cmd,
|
||||||
@ -458,11 +462,8 @@ void cxl_process_mailbox(CXLDeviceState *cxl_dstate)
|
|||||||
DOORBELL, 0);
|
DOORBELL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int cxl_initialize_mailbox(CXLDeviceState *cxl_dstate)
|
void cxl_initialize_mailbox(CXLDeviceState *cxl_dstate)
|
||||||
{
|
{
|
||||||
/* CXL 2.0: Table 169 Get Supported Logs Log Entry */
|
|
||||||
const char *cel_uuidstr = "0da9c0b5-bf41-4b78-8f79-96b1623b3f17";
|
|
||||||
|
|
||||||
for (int set = 0; set < 256; set++) {
|
for (int set = 0; set < 256; set++) {
|
||||||
for (int cmd = 0; cmd < 256; cmd++) {
|
for (int cmd = 0; cmd < 256; cmd++) {
|
||||||
if (cxl_cmd_set[set][cmd].handler) {
|
if (cxl_cmd_set[set][cmd].handler) {
|
||||||
@ -476,6 +477,4 @@ int cxl_initialize_mailbox(CXLDeviceState *cxl_dstate)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return qemu_uuid_parse(cel_uuidstr, &cel_uuid);
|
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ CXL_DEVICE_CAPABILITY_HEADER_REGISTER(MEMORY_DEVICE,
|
|||||||
CXL_DEVICE_CAP_HDR1_OFFSET +
|
CXL_DEVICE_CAP_HDR1_OFFSET +
|
||||||
CXL_DEVICE_CAP_REG_SIZE * 2)
|
CXL_DEVICE_CAP_REG_SIZE * 2)
|
||||||
|
|
||||||
int cxl_initialize_mailbox(CXLDeviceState *cxl_dstate);
|
void cxl_initialize_mailbox(CXLDeviceState *cxl_dstate);
|
||||||
void cxl_process_mailbox(CXLDeviceState *cxl_dstate);
|
void cxl_process_mailbox(CXLDeviceState *cxl_dstate);
|
||||||
|
|
||||||
#define cxl_device_cap_init(dstate, reg, cap_id) \
|
#define cxl_device_cap_init(dstate, reg, cap_id) \
|
||||||
|
Loading…
Reference in New Issue
Block a user