RE: [PATCH 10/10] hw/pci-host: Emit a _DSM on pxb-cxl to preserve firmware PCI config

Manish Honap <[email protected]>
Newsgroups org.nongnu.qemu-arm,org.nongnu.qemu-devel
Message-ID <IA1PR12MB903014202793F105A1C3A5D5BDA42@IA1PR12MB9030.namprd12.prod.outlook.com>

> -----Original Message-----
> From: Junjie Cao <[email protected]>
> Sent: 18 August 2026 15:23
> To: Manish Honap <[email protected]>
> Cc: [email protected]; Ankit Agrawal <[email protected]>;
> [email protected]; [email protected]; [email protected];
> Srirangan Madhavan <[email protected]>;
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; Krishnakant Jaju <[email protected]>; Vikram Sethi
> <[email protected]>; Zhi Wang <[email protected]>; [email protected];
> [email protected]
> Subject: Re: [PATCH 10/10] hw/pci-host: Emit a _DSM on pxb-cxl to
> preserve firmware PCI config
> 
> External email: Use caution opening links or attachments
> 
> 
> Hi Manish,
> 
> On Thu, 13 Aug 2026 18:36:23 +0530, Manish Honap wrote:
> > -void build_cxl_osc_method(Aml *dev)
> > +void acpi_dsdt_add_cxl_host_bridge_methods(Aml *dev, bool
> > +preserve_config)
> >  {
> >      aml_append(dev, aml_name_decl("SUPP", aml_int(0)));
> >      aml_append(dev, aml_name_decl("CTRL", aml_int(0)));
> >      aml_append(dev, aml_name_decl("SUPC", aml_int(0)));
> >      aml_append(dev, aml_name_decl("CTRC", aml_int(0)));
> >      aml_append(dev, __build_cxl_osc_method());
> > +    aml_append(dev,
> > + build_pci_host_bridge_dsm_method(preserve_config));
> 
> This is the bios-tables refresh the cover lists as pending:
> /x86_64/acpi/q35/cxl and /x86_64/acpi/q35/acpihmat-genericx both hit the
> all_tables_match assertion with a DSDT mismatch, and the asl diff is
> exactly this _DSM under the pxb-cxl device (12638 -> 12684 bytes on the
> acpihmat-generic-x variant). The g_assert aborts the test binary, so a
> full run only reports the first case.
> 
> With preserve_config=false the method advertises no functions and
> returns a zero buffer for every function, so the x86 half of the change
> is dead AML plus golden-table churn. Append the _DSM only when
> preserve_config is set: the x86 tables stay untouched and the pending
> refresh drops out. Otherwise the usual three-patch bios-tables update
> needs to ride in this series.
> 
> aarch64/virt has no CXL golden files, so nothing catches the arm side
> either way.

Agreed, I will append the _DSM only when preserve_config is set.

> 
> Many thanks,
> Junjie
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.