qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 5/6] acpi: Add IPMI table entries


From: Corey Minyard
Subject: Re: [Qemu-devel] [PATCH v5 5/6] acpi: Add IPMI table entries
Date: Mon, 23 May 2016 07:42:32 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0

On 05/23/2016 05:01 AM, Igor Mammedov wrote:
On Sat, 21 May 2016 19:28:59 -0500
Corey Minyard <address@hidden> wrote:

Thanks for all the comments.  I didn't know about stubs, as
there's nothing that currently uses it in hw directory, but
it's easy enough to add.  I did have two comment below:

On 05/20/2016 04:53 AM, Igor Mammedov wrote:
On Thu, 19 May 2016 10:24:01 -0500
address@hidden wrote:
.
.
.
+    aml_append(dev, aml_name_decl("_STR", aml_string("ipmi_%s",
+                                                     info->interface_name)));
+    aml_append(dev, aml_name_decl("_UID", aml_int(info->uuid)));
+    aml_append(dev, aml_name_decl("_CRS", aml_ipmi_crs(info, resource)));
+
+    /*
+     * The spec seems to require these to be methods.  All the examples
+     * show them this way and it doesn't seem to work if they are not.
+     */
+    method = aml_method("_IFT", 0, AML_NOTSERIALIZED);
+    aml_append(method, aml_return(aml_int(info->interface_type)));
+    aml_append(dev, method);
+    method = aml_method("_SRV", 0, AML_NOTSERIALIZED);
+    aml_append(method, aml_return(aml_int(version)));
+    aml_append(dev, method);
replace these methods with aml_name_decl() as they do not contain any logic
except of returning static value.
I'm not sure why, but what you ask doesn't work.  These have to be
methods, and that is show by the IPMI spec, as the comment above
these says.
on linux these methods are evaluated by ACPICA core and named constant
is equivalent to a method without arguments that returns constant value.

It might be worth to investigate why it doesn't work.

I just tried this again and it did work.  I'm not sure why it didn't work
before, if it was a change in Linux or my error.

However, the latest IPMI spec has the following text:

Note: _IFT and _SRV, following, have been reserved in ACPI 3.0 as names for
control methods defined for SPMI

Just because it works in Linux doesn't mean it will work on other OSes.
Wouldn't it be safer to use a method here?

-corey

-corey




reply via email to

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