Skip to contentSkip to conversation

Blacklist broken ThinkPads to use 32 bit FADT addresses

PATCH RESEND In review Thomas Renninger 2 participants 2 messages Oct 19, 2008 – Oct 20, 2008 ACPI

lore
Share & tools
lore
#0 lore raw

cover Blacklist broken ThinkPads to use 32 bit FADT addresses

Hi,

can this be taken into .28 if it works out with acpica integration.

Patches are in OpenSUSE for quite a while now (also 11.0) and the issue has been evaluate to the ground now.

Lenovo confirmed that some rare models which got Vista support added late through BIOS upgrades could have wrong 64 bit addresses.

Vista also takes the broken 64 bit addresses like Linux does (spec conform). XP does take the correct 32 bit addresses.

A generic approach (e.g. check through _OSI) does not work, because:
- the affected models support Vista (there the wrong addresses are also
taken, but
the symptoms seem not to happen or are also workarounded)
- Those IO addresses are touched before the DSDT is parsed -> no OSI OS feature support check possible.

Be aware that one patch makes changes in ACPICA code.

Thanks,

Thomas

#1 lore raw
Quoted 4 lines · Thomas Renninger

Hi,

can this be taken into .28 if it works out with acpica integration.

Quoted 8 lines

Patches are in OpenSUSE for quite a while now (also 11.0) and the issue has been evaluate to the ground now.

Lenovo confirmed that some rare models which got Vista support added late through BIOS upgrades could have wrong 64 bit addresses.

Vista also takes the broken 64 bit addresses like Linux does (spec conform). XP does take the correct 32 bit addresses.

Can you confirm that XSDT address is still used on vista even when it is broken? If so, how the Vista can work well? For example: the 32X/64x IO address don't match.

It is appropriate to add the boot option of "acpi_root_table=rsdt". When there exists 32X/64X address mismatch while using XSDT, it can be prompted that "RSDT can be tried". Maybe the issue on such systems can be fixed /workaround by this boot option.
32X/64X address mismatch can include the following:
a. DSDT/XDSDT in FADT table
b. FACS/XFACS in FADT table
c. PM_CNTRL block
d. GPE control block
...

Thanks.
Best regards.

Quoted 17 lines

A generic approach (e.g. check through _OSI) does not work, because:
- the affected models support Vista (there the wrong addresses are also
taken, but
the symptoms seem not to happen or are also workarounded)
- Those IO addresses are touched before the DSDT is parsed -> no OSI OS feature support check possible.

Be aware that one patch makes changes in ACPICA code.

Thanks,

Thomas
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html