qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects
@ 2015-10-22 20:03 Matthias Lange
  2015-10-23 13:08 ` Igor Mammedov
  0 siblings, 1 reply; 3+ messages in thread
From: Matthias Lange @ 2015-10-22 20:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: ehabkost, mst, pbonzini, imammedo, Matthias Lange, rth

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 <matthias.lange@kernkonzept.com>
---
 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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects
  2015-10-22 20:03 [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects Matthias Lange
@ 2015-10-23 13:08 ` Igor Mammedov
  2015-10-28  9:22   ` Matthias Lange
  0 siblings, 1 reply; 3+ messages in thread
From: Igor Mammedov @ 2015-10-23 13:08 UTC (permalink / raw)
  To: Matthias Lange; +Cc: pbonzini, mst, qemu-devel, ehabkost, rth

On Thu, 22 Oct 2015 22:03:24 +0200
Matthias Lange <matthias.lange@kernkonzept.com> 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 <matthias.lange@kernkonzept.com>
> ---
>  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);

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects
  2015-10-23 13:08 ` Igor Mammedov
@ 2015-10-28  9:22   ` Matthias Lange
  0 siblings, 0 replies; 3+ messages in thread
From: Matthias Lange @ 2015-10-28  9:22 UTC (permalink / raw)
  To: Igor Mammedov; +Cc: pbonzini, mst, qemu-devel, ehabkost, rth

On 10/23/2015 03:08 PM, Igor Mammedov wrote:
> On Thu, 22 Oct 2015 22:03:24 +0200
> Matthias Lange <matthias.lange@kernkonzept.com> 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 <matthias.lange@kernkonzept.com>
>> ---
>>  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);

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-28  9:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-22 20:03 [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects Matthias Lange
2015-10-23 13:08 ` Igor Mammedov
2015-10-28  9:22   ` Matthias Lange

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).