On Thu, May 19, 2016 at 12:00 PM, Simon Glass <[email protected]> wrote: > On 11 May 2016 at 08:45, Bin Meng <[email protected]> wrote: >> Per ACPI spec, during ACPI OS initialization, OSPM can determine >> that the ACPI hardware registers are owned by SMI (by way of the >> SCI_EN bit in the PM1_CNT register), in which case the ACPI OS >> issues the ACPI_ENABLE command to the SMI_CMD port. The SCI_EN bit >> effectively tracks the ownership of the ACPI hardware registers. >> >> However since U-Boot does not support SMI, we report all 3 fields >> in FADT (SMI_CMD, ACPI_ENABLE, ACPI_DISABLE) as zero, by following >> the spec who says: these fields are reserved and must be zero on >> system that does not support System Management mode. >> >> U-Boot seems to behave in a correct way that the ACPI spec allows, >> at least Linux does not complain, but apparently Windows does not >> think so. During Windows bring up debugging, it is observed that >> even these 3 fields are zero, Windows are still trying to issue SMI >> with hardcoded SMI port address and commands, and expecting SCI_EN >> to be changed by the firmware. Eventually Windows gives us a BSOD >> (Blue Screen of Death) saying ACPI_BIOS_ERROR and refuses to start. >> >> To fix this, turn on the SCI_EN bit by ourselves. With this patch, >> now U-Boot can install and boot Windows 8.1/10 successfully with >> the help of SeaBIOS using legacy interface (non-UEFI mode). >> >> Signed-off-by: Bin Meng <[email protected]> >> --- >> >> Changes in v2: None >> >> arch/x86/include/asm/acpi_table.h | 3 +++ >> arch/x86/lib/acpi_table.c | 26 ++++++++++++++++++++++++++ >> 2 files changed, 29 insertions(+) > > Reviewed-by: Simon Glass <[email protected]>
applied to u-boot-x86, thanks! _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

