On Thu, 18 Dec 2025 10:18:17 +0100
Markus Armbruster <[email protected]> wrote:

> Davidlohr Bueso <[email protected]> writes:
> 
> > Update the CFMW restrictions to also permit Back-Invalidate
> > flows by default, which is aligned with the no-restrictions
> > policy.
> >
> > While at it, document the 'restrictions=' option.  
> 
> I'd split the patch.  Up to you.
Hi Markus,

As you note below the interface hasn't been in any release anyway and
is part of the long backlog I'm carrying and slowly getting
upstream. Bringing this in from the start with that restrictions
control should be fine.

However, backwards compatibility does need addressing
as this changes the default for things we do create today (with
no restrictions).

In this particular case, I don't think we care because there are no
BI capable devices before this series - so there can't be anything
using this feature for the host memory range it describes.

As such, the only result is the ACPI table says we have an extra
flag set which no one will care about.  Will need to update
the ACPI table tests though. I'll check.

Migration of CXL topologies is horribly broken currently anyway
so that's not a problem here. Given current usecases are strictly
software stack verification fixing that isn't a priority (yet).

Jonathan

> 
> > Tested-by: Dongjoo Seo <[email protected]>
> > Signed-off-by: Davidlohr Bueso <[email protected]>
> > ---
> >  hw/cxl/cxl-host.c | 2 +-
> >  qapi/machine.json | 3 ++-
> >  qemu-options.hx   | 4 +++-
> >  3 files changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c
> > index e420b25176a6..ed0c76a31980 100644
> > --- a/hw/cxl/cxl-host.c
> > +++ b/hw/cxl/cxl-host.c
> > @@ -64,7 +64,7 @@ static void 
> > cxl_fixed_memory_window_config(CXLFixedMemoryWindowOptions *object,
> >      if (object->has_restrictions) {
> >          fw->restrictions = object->restrictions;
> >      } else {
> > -        fw->restrictions = 0xf; /* No restrictions */
> > +        fw->restrictions = 0x2f; /* No restrictions */
> >      }
> >  
> >      fw->targets = g_malloc0_n(fw->num_targets, sizeof(*fw->targets));
> > diff --git a/qapi/machine.json b/qapi/machine.json
> > index 225690d2986a..85e31432b038 100644
> > --- a/qapi/machine.json
> > +++ b/qapi/machine.json
> > @@ -555,7 +555,8 @@
> >  #     BIT(2) - Volatile
> >  #     BIT(3) - Persistent
> >  #     BIT(4) - Fixed Device Config
> > -#     Default is 0xF
> > +#     BIT(5) - BI
> > +#     Default is 0x2F
> >  #
> >  # @targets: Target root bridge IDs from -device ...,id=<ID> for each
> >  #     root bridge.  
> 
> This changes the default of @restrictions.  No problem since
> @restrictions has not been in any release.  If it was, we'd have to
> consider backward compatibility.
> 
> [...]
> 
> 


Reply via email to