diff mbox series

[1/1] tools/libacpi: clear out compilation warnings

Message ID 20241206000422.331015-2-Ariel.Otilibili-Anieli@eurecom.fr (mailing list archive)
State New
Headers show
Series tools/libacpi: clear out compilation warnings | expand

Commit Message

Ariel Otilibili Dec. 6, 2024, midnight UTC
From: Ariel Otilibili <otilibil@eurecom.fr>

* While compiling ASLs, iasl puts out deprecation warnings

```
tools/libs/light/mk_dsdt --debug=y --maxcpu any --dm-version none >> tools/libs/light/dsdt_pvh.asl
/usr/bin/iasl -vs -p tools/libs/light/dsdt_pvh.tmp -tc tools/libs/light/dsdt_pvh.asl

tools/libs/light/dsdt_pvh.asl     40:         Processor ( PR00, 0, 0x0000b010, 0x06 ) {
Warning  3168 -                                                                   ^ Legacy Processor() keyword detected. Use Device() keyword instead.

tools/libs/light/dsdt_pvh.asl     64:         Processor ( PR01, 1, 0x0000b010, 0x06 ) {
Warning  3168 -                                                                   ^ Legacy Processor() keyword detected. Use Device() keyword instead.
```

* since 6.0, the ACPI specs have deprecated the keyword Processor
* the deprecation is mentioned in Rev. History, Issue 1232
* instead, ACPI advices to use the keyword Device
* after the fix, the warnings are cleared out.

```
tools/libs/light/mk_dsdt --debug=y --maxcpu any --dm-version none >> tools/libs/light/dsdt_pvh.asl
/usr/bin/iasl -vs -p tools/libs/light/dsdt_pvh.tmp -tc tools/libs/light/dsdt_pvh.asl

ASL Input:     tools/libs/light/dsdt_pvh.asl -  167025 bytes   3763 keywords      0 source lines
AML Output:    tools/libs/light/dsdt_pvh.aml -   27035 bytes   2599 opcodes    1164 named objects
Hex Dump:      tools/libs/light/dsdt_pvh.hex -  253913 bytes

Compilation successful. 0 Errors, 0 Warnings, 0 Remarks, 1915 Optimizations
```

Link: https://uefi.org/specs/ACPI/6.5_A/Frontmatter/Revision_History.html#revision-history
Link: https://uefi.org/specs/ACPI/6.5_A/08_Processor_Configuration_and_Control.html#declaring-processors
Link: https://uefi.org/specs/ACPI/6.5_A/19_ASL_Reference.html#device-declare-device-package
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
Signed-off-by: Ariel Otilibili <Ariel.Otilibili-Anieli@eurecom.fr>
---
 tools/libacpi/mk_dsdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andrew Cooper Dec. 6, 2024, 12:42 a.m. UTC | #1
On 06/12/2024 12:00 am, Ariel Otilibili wrote:
> From: Ariel Otilibili <otilibil@eurecom.fr>
>
> * While compiling ASLs, iasl puts out deprecation warnings
>
> ```
> tools/libs/light/mk_dsdt --debug=y --maxcpu any --dm-version none >> tools/libs/light/dsdt_pvh.asl
> /usr/bin/iasl -vs -p tools/libs/light/dsdt_pvh.tmp -tc tools/libs/light/dsdt_pvh.asl
>
> tools/libs/light/dsdt_pvh.asl     40:         Processor ( PR00, 0, 0x0000b010, 0x06 ) {
> Warning  3168 -                                                                   ^ Legacy Processor() keyword detected. Use Device() keyword instead.
>
> tools/libs/light/dsdt_pvh.asl     64:         Processor ( PR01, 1, 0x0000b010, 0x06 ) {
> Warning  3168 -                                                                   ^ Legacy Processor() keyword detected. Use Device() keyword instead.
> ```
>
> * since 6.0, the ACPI specs have deprecated the keyword Processor
> * the deprecation is mentioned in Rev. History, Issue 1232
> * instead, ACPI advices to use the keyword Device
> * after the fix, the warnings are cleared out.
>
> ```
> tools/libs/light/mk_dsdt --debug=y --maxcpu any --dm-version none >> tools/libs/light/dsdt_pvh.asl
> /usr/bin/iasl -vs -p tools/libs/light/dsdt_pvh.tmp -tc tools/libs/light/dsdt_pvh.asl
>
> ASL Input:     tools/libs/light/dsdt_pvh.asl -  167025 bytes   3763 keywords      0 source lines
> AML Output:    tools/libs/light/dsdt_pvh.aml -   27035 bytes   2599 opcodes    1164 named objects
> Hex Dump:      tools/libs/light/dsdt_pvh.hex -  253913 bytes
>
> Compilation successful. 0 Errors, 0 Warnings, 0 Remarks, 1915 Optimizations
> ```
>
> Link: https://uefi.org/specs/ACPI/6.5_A/Frontmatter/Revision_History.html#revision-history
> Link: https://uefi.org/specs/ACPI/6.5_A/08_Processor_Configuration_and_Control.html#declaring-processors
> Link: https://uefi.org/specs/ACPI/6.5_A/19_ASL_Reference.html#device-declare-device-package
> Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
> Signed-off-by: Ariel Otilibili <Ariel.Otilibili-Anieli@eurecom.fr>
> ---
>  tools/libacpi/mk_dsdt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
> index 34f6753f61..5729b4238c 100644
> --- a/tools/libacpi/mk_dsdt.c
> +++ b/tools/libacpi/mk_dsdt.c
> @@ -186,7 +186,7 @@ int main(int argc, char **argv)
>      /* Define processor objects and control methods. */
>      for ( cpu = 0; cpu < max_cpus; cpu++)
>      {
> -        push_block("Processor", "PR%02X, %d, 0x0000b010, 0x06", cpu, cpu);
> +        push_block("Device", "PR%02X", cpu);
>  
>          stmt("Name", "_HID, \"ACPI0007\"");
>  

Hello,

Thankyou for your patch.

Unfortunately, it's not quite this simple.  While there is a warning out
of IASL, older OSes coded to prior versions of the ACPI spec still
depend on "Processor".

It may be time to start thinking about removing support for the likes of
WinXP, but that needs more consideration than simply fixing a warning.

~Andrew
Ariel Otilibili Dec. 6, 2024, 8:37 a.m. UTC | #2
On Friday, December 06, 2024 01:42 CET, Andrew Cooper <andrew.cooper3@citrix.com> wrote:

> On 06/12/2024 12:00 am, Ariel Otilibili wrote:
> > From: Ariel Otilibili <otilibil@eurecom.fr>
> >
> > * While compiling ASLs, iasl puts out deprecation warnings
> >
> > ```
> > tools/libs/light/mk_dsdt --debug=y --maxcpu any --dm-version none >> tools/libs/light/dsdt_pvh.asl
> > /usr/bin/iasl -vs -p tools/libs/light/dsdt_pvh.tmp -tc tools/libs/light/dsdt_pvh.asl
> >
> > tools/libs/light/dsdt_pvh.asl     40:         Processor ( PR00, 0, 0x0000b010, 0x06 ) {
> > Warning  3168 -                                                                   ^ Legacy Processor() keyword detected. Use Device() keyword instead.
> >
> > tools/libs/light/dsdt_pvh.asl     64:         Processor ( PR01, 1, 0x0000b010, 0x06 ) {
> > Warning  3168 -                                                                   ^ Legacy Processor() keyword detected. Use Device() keyword instead.
> > ```
> >
> > * since 6.0, the ACPI specs have deprecated the keyword Processor
> > * the deprecation is mentioned in Rev. History, Issue 1232
> > * instead, ACPI advices to use the keyword Device
> > * after the fix, the warnings are cleared out.
> >
> > ```
> > tools/libs/light/mk_dsdt --debug=y --maxcpu any --dm-version none >> tools/libs/light/dsdt_pvh.asl
> > /usr/bin/iasl -vs -p tools/libs/light/dsdt_pvh.tmp -tc tools/libs/light/dsdt_pvh.asl
> >
> > ASL Input:     tools/libs/light/dsdt_pvh.asl -  167025 bytes   3763 keywords      0 source lines
> > AML Output:    tools/libs/light/dsdt_pvh.aml -   27035 bytes   2599 opcodes    1164 named objects
> > Hex Dump:      tools/libs/light/dsdt_pvh.hex -  253913 bytes
> >
> > Compilation successful. 0 Errors, 0 Warnings, 0 Remarks, 1915 Optimizations
> > ```
> >
> > Link: https://uefi.org/specs/ACPI/6.5_A/Frontmatter/Revision_History.html#revision-history
> > Link: https://uefi.org/specs/ACPI/6.5_A/08_Processor_Configuration_and_Control.html#declaring-processors
> > Link: https://uefi.org/specs/ACPI/6.5_A/19_ASL_Reference.html#device-declare-device-package
> > Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
> > Signed-off-by: Ariel Otilibili <Ariel.Otilibili-Anieli@eurecom.fr>
> > ---
> >  tools/libacpi/mk_dsdt.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
> > index 34f6753f61..5729b4238c 100644
> > --- a/tools/libacpi/mk_dsdt.c
> > +++ b/tools/libacpi/mk_dsdt.c
> > @@ -186,7 +186,7 @@ int main(int argc, char **argv)
> >      /* Define processor objects and control methods. */
> >      for ( cpu = 0; cpu < max_cpus; cpu++)
> >      {
> > -        push_block("Processor", "PR%02X, %d, 0x0000b010, 0x06", cpu, cpu);
> > +        push_block("Device", "PR%02X", cpu);
> >  
> >          stmt("Name", "_HID, \"ACPI0007\"");
> >  
> 
> Hello,
> 
> Thankyou for your patch.
> 
> Unfortunately, it's not quite this simple.  While there is a warning out
> of IASL, older OSes coded to prior versions of the ACPI spec still
> depend on "Processor".

Thanks for the feedback, Andrew; I didn't consider older OSes in the patch, indeed.

> 
> It may be time to start thinking about removing support for the likes of
> WinXP, but that needs more consideration than simply fixing a warning.

If the removal makes sense; I am willing to work on it.

I would need to know which parts of the codebase should be modified.

Regards,
Ariel
> 
> ~Andrew
diff mbox series

Patch

diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
index 34f6753f61..5729b4238c 100644
--- a/tools/libacpi/mk_dsdt.c
+++ b/tools/libacpi/mk_dsdt.c
@@ -186,7 +186,7 @@  int main(int argc, char **argv)
     /* Define processor objects and control methods. */
     for ( cpu = 0; cpu < max_cpus; cpu++)
     {
-        push_block("Processor", "PR%02X, %d, 0x0000b010, 0x06", cpu, cpu);
+        push_block("Device", "PR%02X", cpu);
 
         stmt("Name", "_HID, \"ACPI0007\"");