On Thu, 27 Nov 2025 22:55:21 +0000
Alireza Sanaee <[email protected]> wrote:

> Add extra information in each extent about fix memory window and

fixed

> memory backend, because extent might be backed by different memory
because each extent might be backed by a different memory backend

(under new scheme they are one to one)

> backends, thus such information must be stored in the extent object.
> Consequently, APIs should be changes to support extra members.
> 
> Signed-off-by: Alireza Sanaee <[email protected]>
> ---
>  hw/cxl/cxl-host.c           |  2 ++
>  hw/cxl/cxl-mailbox-utils.c  | 42 ++++++++++++++++++++++++-------------
>  hw/mem/cxl_type3.c          | 23 +++++++++++++++-----
>  include/hw/cxl/cxl_device.h | 17 ++++++++++++---
>  4 files changed, 61 insertions(+), 23 deletions(-)
> 
> diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c
> index 3a563af3bc..7c8fde4646 100644
> --- a/hw/cxl/cxl-host.c
> +++ b/hw/cxl/cxl-host.c
> @@ -365,6 +365,8 @@ static int cxl_fmws_direct_passthrough(Object *obj, void 
> *opaque)
>          return 0;
>      }
>  
> +    ct3d->dc.fw = fw;
> +
>      if (state->commit) {
>          MemoryRegion *mr = NULL;
>          uint64_t vmr_size = 0, pmr_size = 0;
> diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c
> index 68c7cc9891..ae723c03ec 100644
> --- a/hw/cxl/cxl-mailbox-utils.c
> +++ b/hw/cxl/cxl-mailbox-utils.c
> @@ -2840,10 +2840,13 @@ CXLDCRegion *cxl_find_dc_region(CXLType3Dev *ct3d, 
> uint64_t dpa, uint64_t len)
>  }
>  
>  void cxl_insert_extent_to_extent_list(CXLDCExtentList *list,
> +                                             HostMemoryBackend *host_mem,
> +                                             struct CXLFixedWindow *fw,
>                                               uint64_t dpa,
>                                               uint64_t len,
>                                               uint8_t *tag,
> -                                             uint16_t shared_seq)
> +                                             uint16_t shared_seq,
> +                                             int rid)

I'm not sure what rid is...  Maybe there is a better name?
The dynamic capacity region index?




Reply via email to