Jenny Tc (jenny.tc@intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18307
-gerrit
commit f5e24e30a4189739bfe81713a3ea01d71a9c7a56 Author: Jenny TC jenny.tc@intel.com Date: Tue Feb 7 14:16:54 2017 +0530
intel/skylake: Set FADT.8042 on CONFIG_DRIVERS_PS2_KEYBOARD
Kernel relies on FADT 8042 flag to enable/disable 8042 interface. If FADT reports 8042 capability and 8042 (/PS2) capability is actually disabled by coreboot, kernel would assume the presence of 8042 based on the FADT flag. This results in undesired system power off when kernel tries to access the 8042 memory region. To address this, FADT 8042 flag is set only if CONFIG_DRIVERS_PS2_KEYBOARD is enabled in the coreboot.
BUG=chrome-os-partner:61858 TEST=Boot OS and verify FADT 8042 flag
Change-Id: Ic80b3835cb5cccdde1203e24a58e28746b0196fc Signed-off-by: Jenny TC jenny.tc@intel.com --- src/soc/intel/skylake/acpi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/soc/intel/skylake/acpi.c b/src/soc/intel/skylake/acpi.c index 54468d2..8488f52 100644 --- a/src/soc/intel/skylake/acpi.c +++ b/src/soc/intel/skylake/acpi.c @@ -268,7 +268,9 @@ void acpi_fill_fadt(acpi_fadt_t *fadt) fadt->day_alrm = 0xd; fadt->mon_alrm = 0x00; fadt->century = 0x00; - fadt->iapc_boot_arch = ACPI_FADT_LEGACY_DEVICES | ACPI_FADT_8042; + fadt->iapc_boot_arch = ACPI_FADT_LEGACY_DEVICES; + if (IS_ENABLED(CONFIG_DRIVERS_PS2_KEYBOARD)) + fadt->iapc_boot_arch |= ACPI_FADT_8042;
fadt->flags = ACPI_FADT_WBINVD | ACPI_FADT_C1_SUPPORTED | ACPI_FADT_C2_MP_SUPPORTED | ACPI_FADT_SLEEP_BUTTON |