Project

General

Profile

Actions

Bug #31

closed

Windows doesn't like ToString() calls in ACPI

Added by CoolStar Organization almost 10 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
02/06/2016
Due date:
% Done:

0%

Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
Affected OS:

Description

Windows doesn't like ACPI calls to ToString(), resulting in broken battery indicators. This affects laptops with the ENE and Chrome EC.

https://github.com/coreboot/coreboot/blob/master/src/ec/google/chromeec/acpi/battery.asl#L148
https://github.com/coreboot/coreboot/blob/master/src/ec/compal/ene932/acpi/battery.asl#L87

Actions #1

Updated by Patrick Georgi almost 10 years ago

Is there any documentation on the issue and Windows' behavior?

Actions #2

Updated by CoolStar Organization almost 10 years ago

Since the ToString() calls are in the _BIF and _BIX methods, those ACPI methods fail when called under Windows. Windows then says "No Battery Installed" even though there really is a battery, since the ACPI calls fail.

Actions #3

Updated by CoolStar Organization almost 10 years ago

Seems like ToInteger() also causes issues. This issue was noticed when importing lulu mainboard ACPI code from the chromium coreboot tree. The I2C HID _DSM method was failing in Windows due to the use of ToInteger() and switch() statements. Changing the code to using If statements and not using ToInteger fixed the issue.

Actions #4

Updated by Nico Huber over 8 years ago

  • Status changed from New to Resolved

Looks like this has been fixed upstream by Matt DeVillier with

e34c16f915 ec/chromeec: Correct ACPI battery data fed into ToString()
678923c2b7 ec/ene932: correct ACPI battery data fed into ToString()

Beware of the links in the description, they show the current code :-P

Actions

Also available in: Atom PDF