[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] i386/acpi: add _HID to processor nodes
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH] i386/acpi: add _HID to processor nodes |
Date: |
Thu, 22 Oct 2015 16:02:28 +0300 |
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.
> 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]$
> > Please include this info in both the commit log and a code comment.
>
> Will do.
>
> Matthias.
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