mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 02:03:56 -06:00
hw/cxl: Standardize all references on CXL r3.1 and minor updates
Previously not all references mentioned any spec version at all. Given r3.1 is the current specification available for evaluation at www.computeexpresslink.org update references to refer to that. Hopefully this won't become a never ending job. A few structure definitions have been updated to add new fields. Defaults of 0 and read only are valid choices for these new DVSEC registers so go with that for now. There are additional error codes and some of the 'questions' in the comments are resolved now. Update documentation reference to point to the CXL r3.1 specification with naming closer to what is on the cover. For cases where there are structure version numbers, add defines so they can be found next to the register definitions. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Message-Id: <20240126121636.24611-6-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
202f651469
commit
8700ee15de
14 changed files with 174 additions and 104 deletions
|
@ -13,7 +13,7 @@
|
|||
|
||||
/*
|
||||
* Device registers have no restrictions per the spec, and so fall back to the
|
||||
* default memory mapped register rules in 8.2:
|
||||
* default memory mapped register rules in CXL r3.1 Section 8.2:
|
||||
* Software shall use CXL.io Memory Read and Write to access memory mapped
|
||||
* register defined in this section. Unless otherwise specified, software
|
||||
* shall restrict the accesses width based on the following:
|
||||
|
@ -393,13 +393,15 @@ void cxl_device_register_init_t3(CXLType3Dev *ct3d)
|
|||
ARRAY_FIELD_DP64(cap_h, CXL_DEV_CAP_ARRAY, CAP_VERSION, 1);
|
||||
ARRAY_FIELD_DP64(cap_h, CXL_DEV_CAP_ARRAY, CAP_COUNT, cap_count);
|
||||
|
||||
cxl_device_cap_init(cxl_dstate, DEVICE_STATUS, 1, 2);
|
||||
cxl_device_cap_init(cxl_dstate, DEVICE_STATUS, 1,
|
||||
CXL_DEVICE_STATUS_VERSION);
|
||||
device_reg_init_common(cxl_dstate);
|
||||
|
||||
cxl_device_cap_init(cxl_dstate, MAILBOX, 2, CXL_DEV_MAILBOX_VERSION);
|
||||
mailbox_reg_init_common(cxl_dstate);
|
||||
|
||||
cxl_device_cap_init(cxl_dstate, MEMORY_DEVICE, 0x4000, 1);
|
||||
cxl_device_cap_init(cxl_dstate, MEMORY_DEVICE, 0x4000,
|
||||
CXL_MEM_DEV_STATUS_VERSION);
|
||||
memdev_reg_init_common(cxl_dstate);
|
||||
|
||||
cxl_initialize_mailbox_t3(&ct3d->cci, DEVICE(ct3d),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue