mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
hw/mem/cxl_type3: Add host backend and address space handling for DC regions
Add (file/memory backed) host backend for DCD. All the dynamic capacity regions will share a single, large enough host backend. Set up address space for DC regions to support read/write operations to dynamic capacity for DCD. With the change, the following support is added: 1. Add a new property to type3 device "volatile-dc-memdev" to point to host memory backend for dynamic capacity. Currently, all DC regions share one host backend; 2. Add namespace for dynamic capacity for read/write support; 3. Create cdat entries for each dynamic capacity region. Reviewed-by: Gregory Price <gregory.price@memverge.com> Signed-off-by: Fan Ni <fan.ni@samsung.com> Message-Id: <20240523174651.1089554-9-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
69e4fb569d
commit
90de94612b
3 changed files with 164 additions and 37 deletions
|
@ -467,6 +467,14 @@ struct CXLType3Dev {
|
|||
uint64_t poison_list_overflow_ts;
|
||||
|
||||
struct dynamic_capacity {
|
||||
HostMemoryBackend *host_dc;
|
||||
AddressSpace host_dc_as;
|
||||
/*
|
||||
* total_capacity is equivalent to the dynamic capability
|
||||
* memory region size.
|
||||
*/
|
||||
uint64_t total_capacity; /* 256M aligned */
|
||||
|
||||
uint8_t num_regions; /* 0-8 regions */
|
||||
CXLDCRegion regions[DCD_MAX_NUM_REGION];
|
||||
} dc;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue