Message ID | 20230206172816.8201-11-Jonathan.Cameron@huawei.com |
---|---|
State | New, archived |
Headers | show |
Series | hw/cxl: CXL emulation cleanups and minor fixes for upstream | expand |
On Mon, Feb 06, 2023 at 05:28:16PM +0000, Jonathan Cameron wrote: > From: Ira Weiny <ira.weiny@intel.com> > > 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> > Reviewed-by: Fan Ni <fan.ni@samsung.com> > --- > v2: > Make it const (Philippe) > --- > hw/cxl/cxl-device-utils.c | 2 +- > hw/cxl/cxl-mailbox-utils.c | 13 ++++++------- > include/hw/cxl/cxl_device.h | 2 +- > 3 files changed, 8 insertions(+), 9 deletions(-) > > diff --git a/hw/cxl/cxl-device-utils.c b/hw/cxl/cxl-device-utils.c > index 83ce7a8270..4c5e88aaf5 100644 > --- a/hw/cxl/cxl-device-utils.c > +++ b/hw/cxl/cxl-device-utils.c > @@ -267,5 +267,5 @@ void cxl_device_register_init_common(CXLDeviceState *cxl_dstate) > cxl_device_cap_init(cxl_dstate, MEMORY_DEVICE, 0x4000); > memdev_reg_init_common(cxl_dstate); > > - assert(cxl_initialize_mailbox(cxl_dstate) == 0); > + cxl_initialize_mailbox(cxl_dstate); > } > diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c > index 3f67b665f5..206e04a4b8 100644 > --- a/hw/cxl/cxl-mailbox-utils.c > +++ b/hw/cxl/cxl-mailbox-utils.c > @@ -193,7 +193,11 @@ static ret_code cmd_timestamp_set(struct cxl_cmd *cmd, > 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 */ > static ret_code cmd_logs_get_supported(struct cxl_cmd *cmd, > @@ -458,11 +462,8 @@ void cxl_process_mailbox(CXLDeviceState *cxl_dstate) > 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 cmd = 0; cmd < 256; cmd++) { > 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); > } > diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h > index 250adf18b2..7e5ad65c1d 100644 > --- a/include/hw/cxl/cxl_device.h > +++ b/include/hw/cxl/cxl_device.h > @@ -170,7 +170,7 @@ CXL_DEVICE_CAPABILITY_HEADER_REGISTER(MEMORY_DEVICE, > CXL_DEVICE_CAP_HDR1_OFFSET + > 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); > > #define cxl_device_cap_init(dstate, reg, cap_id) \ > -- > 2.37.2 > >
diff --git a/hw/cxl/cxl-device-utils.c b/hw/cxl/cxl-device-utils.c index 83ce7a8270..4c5e88aaf5 100644 --- a/hw/cxl/cxl-device-utils.c +++ b/hw/cxl/cxl-device-utils.c @@ -267,5 +267,5 @@ void cxl_device_register_init_common(CXLDeviceState *cxl_dstate) cxl_device_cap_init(cxl_dstate, MEMORY_DEVICE, 0x4000); memdev_reg_init_common(cxl_dstate); - assert(cxl_initialize_mailbox(cxl_dstate) == 0); + cxl_initialize_mailbox(cxl_dstate); } diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index 3f67b665f5..206e04a4b8 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -193,7 +193,11 @@ static ret_code cmd_timestamp_set(struct cxl_cmd *cmd, 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 */ static ret_code cmd_logs_get_supported(struct cxl_cmd *cmd, @@ -458,11 +462,8 @@ void cxl_process_mailbox(CXLDeviceState *cxl_dstate) 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 cmd = 0; cmd < 256; cmd++) { 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); } diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index 250adf18b2..7e5ad65c1d 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -170,7 +170,7 @@ CXL_DEVICE_CAPABILITY_HEADER_REGISTER(MEMORY_DEVICE, CXL_DEVICE_CAP_HDR1_OFFSET + 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); #define cxl_device_cap_init(dstate, reg, cap_id) \