Project

General

Profile

Actions

Bug #31

closed

Windows doesn't like ToString() calls in ACPI

Added by CoolStar Organization about 8 years ago. Updated almost 7 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 about 8 years ago

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

Actions #2

Updated by CoolStar Organization about 8 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 about 8 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 almost 7 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