Re: [Qemu-devel] [PATCH v2] i386/acpi: add _HID to processor objects

2015-10-28 Thread Matthias Lange
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

2015-10-23 Thread Igor Mammedov
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

2015-10-22 Thread Matthias Lange
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