qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Matthias Lange
Subject: Re: [Qemu-devel] [PATCH] i386/acpi: add _HID to processor nodes
Date: Thu, 22 Oct 2015 15:34:46 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

On 10/22/2015 03:02 PM, Michael S. Tsirkin wrote:
> On Thu, Oct 22, 2015 at 02:42:05PM +0200, Matthias Lange wrote:
>> On 10/22/2015 01:48 PM, Michael S. Tsirkin wrote:
>>> On Thu, Oct 22, 2015 at 12:38:11PM +0200, Matthias Lange wrote:
>>>> Processor nodes created via the acpi/aml framework currently don't
>>>> feature a _HID string. This patch appends "ACPI0007" as the _HID
>>>> string to each processor node.
>>>>
>>>> Signed-off-by: Matthias Lange <address@hidden>
>>>
>>> Indeed,  it does that.  But why?
>>>
>>> ACPI0007 Processor Device. This device provides an alternative to
>>> declaring processors using the
>>> Processor ASL statement.
>>>  
>>> And “Declaring Processors” says
>>>
>>>
>>>     Each processor in the system must be declared in the ACPI namespace in
>>>     either the \_SB or \_PR
>>>     scope but not both. Declaration of processors in the \_PR scope is
>>>     required for platforms desiring
>>>     compatibility with ACPI 1.0-based OSPM implementations. Processors are
>>>     declared either via the
>>>     ASL Processor statement or the ASL Device statement. A Processor
>>>     definition declares a processor
>>>     object that provides processor configuration information and points to
>>>     the processor register block
>>>     (P_BLK). A Device definition for a processor is declared using the
>>>     ACPI0007 hardware identifier
>>>     (HID). In this case, processor configuration information is provided
>>>     exclusively by objects in the
>>>     processor device’s object list.
>>
>> Thanks for pointing me to the right section.
>>
>>> In other words, Processor directive does not need a HID.
>>> In fact, ACPI 1.0 didn't include the ACPI0007 HID at all.
>>
>> Right. But, does Qemu strive for ACPI 1.0 compatibility?
> 
> Where possible - it's handy for old guests.

I understand. But then, why are processors declared under the \_SB scope
and not under \_PR?

>> And e.g.
>> seabios also defines processors using the ALS processor statement
>> including the HID.
> 
> I don't see it there:
> address@hidden seabios]$ git grep ACI0007
> address@hidden seabios]$

It's a typo in your command. Have a look into

seabios/src/fw/ssdt-proc.dsl

Matthias.

>>> Please include this info in both the commit log and a code comment.
>>
>> Will do.
>>
> Not the ACPI spec info. I have that. The answer to my question - the
> actual motivation for the patch.
> 
>>>> ---
>>>>  hw/i386/acpi-build.c | 1 +
>>>>  1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
>>>> index 95e0c65..95f7bf9 100644
>>>> --- a/hw/i386/acpi-build.c
>>>> +++ b/hw/i386/acpi-build.c
>>>> @@ -1153,6 +1153,7 @@ build_ssdt(GArray *table_data, GArray *linker,
>>>>          for (i = 0; i < acpi_cpus; i++) {
>>>>              dev = aml_processor(i, 0, 0, "CP%.02X", i);
>>>>  
>>>> +            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
>>
>>
>> -- 
>> Matthias Lange, address@hidden, +49 - 351 - 41 88 86 14
>>
>> Kernkonzept GmbH.  Sitz: Dresden.  Amtsgericht Dresden, HRB 31129.
>> Geschäftsführer: Dr.-Ing. Michael Hohmuth


-- 
Matthias Lange, address@hidden, +49 - 351 - 41 88 86 14

Kernkonzept GmbH.  Sitz: Dresden.  Amtsgericht Dresden, HRB 31129.
Geschäftsführer: Dr.-Ing. Michael Hohmuth




reply via email to

[Prev in Thread] Current Thread [Next in Thread]