Re: [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects
On 10/23/2015 03:08 PM, Igor Mammedov wrote: > On Thu, 22 Oct 2015 22:03:24 +0200 > Matthias Lange wrote: > >> This patch appends "ACPI0007" as the HID to each processor object. >> >> Until commit 20843d processor objects used to have a _HID. According >> to the ACPI spec this is not required but removing it breaks systems > Pls answer Michael's question about motivation of this patch. > i.e. what guests it exactly breaks? It broke the L4Re OS (specifically the mechanism to match ACPI drivers to ACPI devices). However, you can ignore this patch. I decided to change L4Re instead. Best, Matthias. >> which relied on the HID. As it does no harm it is safe to add _HID >> to processor objects and restore the old behaviour. >> >> Signed-off-by: Matthias Lange >> --- >> hw/i386/acpi-build.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c >> index 95e0c65..314cd0b 100644 >> --- a/hw/i386/acpi-build.c >> +++ b/hw/i386/acpi-build.c >> @@ -1153,6 +1153,9 @@ build_ssdt(GArray *table_data, GArray *linker, >> for (i = 0; i < acpi_cpus; i++) { >> dev = aml_processor(i, 0, 0, "CP%.02X", i); >> >> +/* for processor objects a _HID is not strictly required, >> however it >> + * does no harm and preserves compatibility with other BIOSes */ >> +aml_append(dev, aml_name_decl("_HID", aml_string("ACPI0007"))); > Spec doesn't tell anything about using ACPI0007 with Processor statement, > it's only mentioned in context of Device statement. > >> method = aml_method("_MAT", 0); >> aml_append(method, aml_return(aml_call1("CPMA", aml_int(i; >> aml_append(dev, method);
Re: [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects
On Thu, 22 Oct 2015 22:03:24 +0200 Matthias Lange wrote: > This patch appends "ACPI0007" as the HID to each processor object. > > Until commit 20843d processor objects used to have a _HID. According > to the ACPI spec this is not required but removing it breaks systems Pls answer Michael's question about motivation of this patch. i.e. what guests it exactly breaks? > which relied on the HID. As it does no harm it is safe to add _HID > to processor objects and restore the old behaviour. > > Signed-off-by: Matthias Lange > --- > hw/i386/acpi-build.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index 95e0c65..314cd0b 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -1153,6 +1153,9 @@ build_ssdt(GArray *table_data, GArray *linker, > for (i = 0; i < acpi_cpus; i++) { > dev = aml_processor(i, 0, 0, "CP%.02X", i); > > +/* for processor objects a _HID is not strictly required, > however it > + * does no harm and preserves compatibility with other BIOSes */ > +aml_append(dev, aml_name_decl("_HID", aml_string("ACPI0007"))); Spec doesn't tell anything about using ACPI0007 with Processor statement, it's only mentioned in context of Device statement. > method = aml_method("_MAT", 0); > aml_append(method, aml_return(aml_call1("CPMA", aml_int(i; > aml_append(dev, method);
[Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects
This patch appends "ACPI0007" as the HID to each processor object. Until commit 20843d processor objects used to have a _HID. According to the ACPI spec this is not required but removing it breaks systems which relied on the HID. As it does no harm it is safe to add _HID to processor objects and restore the old behaviour. Signed-off-by: Matthias Lange --- hw/i386/acpi-build.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 95e0c65..314cd0b 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1153,6 +1153,9 @@ build_ssdt(GArray *table_data, GArray *linker, for (i = 0; i < acpi_cpus; i++) { dev = aml_processor(i, 0, 0, "CP%.02X", i); +/* for processor objects a _HID is not strictly required, however it + * does no harm and preserves compatibility with other BIOSes */ +aml_append(dev, aml_name_decl("_HID", aml_string("ACPI0007"))); method = aml_method("_MAT", 0); aml_append(method, aml_return(aml_call1("CPMA", aml_int(i; aml_append(dev, method); -- 1.9.1