On Fri, Feb 03, 2017 at 12:05:52AM +0200, Marcel Apfelbaum wrote: > Add the missing osc method for pxb-pcie devices > > Signed-off-by: Marcel Apfelbaum <mar...@redhat.com> > --- > > Note: The patch is based on the fact that Q35's osc method is quite generic. > > Thanks, > Marcel > > hw/i386/acpi-build.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index 1c928ab..555aab3 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -1964,6 +1964,11 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, > aml_append(dev, aml_name_decl("_UID", aml_int(bus_num))); > aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03"))); > aml_append(dev, aml_name_decl("_BBN", aml_int(bus_num))); > + if (pci_bus_is_express(bus)) { > + aml_append(dev, aml_name_decl("SUPP", aml_int(0))); > + aml_append(dev, aml_name_decl("CTRL", aml_int(0))); > + aml_append(dev, build_q35_osc_method()); > + }
I think we want to move this stuff into build_q35_osc_method: "SUPP" seems to be 0, CTRL should be a variable passed in. > if (numa_node != NUMA_NODE_UNASSIGNED) { > aml_append(dev, aml_name_decl("_PXM", aml_int(numa_node))); In fact build_q35_osc_method needs to be cleaned up. It stores result in "CTRL" which should be documented. "SUPP" seems to be unused. A bunch of comments missing. More importantly, its an unserialized method but it creates a bunch of fields so attempts to run two of these in parallel will crash. I see the same in ACPI spec which probably means it should be revisited with a critical eye. > -- > 2.5.5