On Tue,  2 Jun 2026 16:18:04 -0700
Davidlohr Bueso <[email protected]> wrote:

> Change the default CXL Fixed Memory Window restrictions from 0x2f to
> 0xe, dropping Device Coherent and Back-Invalidate.
> 
> host-only coherent combined with Back-Invalidate is undefined behavior.

That one I'm fine with.

> Device Coherent alongside host-only coherent is permitted by the spec
> (multiple restriction bits may be set) but advertises conflicting
> coherency modes; neither belongs in the host-only default.

Why not in the default?  Software should be fine with it and it
means the default emulation is slightly more likely to function for
simple cases.  I don't feel that strongly about it given we don't
have an device coherent devices emulated in QEMU, but wanted to understand
your reasoning a little more.

Jonathan

> 
> Signed-off-by: Davidlohr Bueso <[email protected]>
> ---
>  hw/acpi/cxl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/acpi/cxl.c b/hw/acpi/cxl.c
> index f92f7fa3d558..5ce5e8e083ba 100644
> --- a/hw/acpi/cxl.c
> +++ b/hw/acpi/cxl.c
> @@ -172,7 +172,7 @@ static void cedt_build_cfmws(CXLFixedWindow *fw, Aml 
> *cedt)
>      build_append_int_noprefix(table_data, fw->enc_int_gran, 4);
>  
>      /* Window Restrictions */
> -    build_append_int_noprefix(table_data, 0x2f, 2);
> +    build_append_int_noprefix(table_data, 0xe, 2);
>  
>      /* QTG ID */
>      build_append_int_noprefix(table_data, 0, 2);


Reply via email to