From c4fa3fdd3ea3f8e05cbbc881d45d1fb1927b525d Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Mon, 23 Nov 2015 16:27:53 -0700 Subject: intel/eagleheights: Fix IASL warnings The eagleheights platform had 3 warnings: The SIO device needs an _ADR object to specify the address in addition to the operating region. Not all the paths through the _OSC method returned a value. According to the ACPI spec (5.0 & 6.0), bit 2 needs to be set for an unrecognized GUID. dsdt.aml 341: Device(SIO) { Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope) dsdt.aml 140: Method (_OSC, 4) Warning 3115 - ^ Not all control paths return a value (_OSC) dsdt.aml 140: Method (_OSC, 4) Warning 3107 - ^ Reserved method must return a value (Buffer required for _OSC) - Remove Kconfig default disabling IASL warnings as errors. Change-Id: Iab52f19b96468e142b06430d99ba1d9f367d126e Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/12522 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/mainboard/intel/eagleheights/Kconfig | 4 ---- src/mainboard/intel/eagleheights/dsdt.asl | 10 +++++++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/mainboard/intel/eagleheights/Kconfig b/src/mainboard/intel/eagleheights/Kconfig index bfcb4cef5f..702e2aff5a 100644 --- a/src/mainboard/intel/eagleheights/Kconfig +++ b/src/mainboard/intel/eagleheights/Kconfig @@ -35,8 +35,4 @@ config MAX_CPUS int default 4 -# TODO: Remove this when platform ASL is fixed -config IASL_WARNINGS_ARE_ERRORS - def_bool n - endif # BOARD_INTEL_EAGLEHEIGHTS diff --git a/src/mainboard/intel/eagleheights/dsdt.asl b/src/mainboard/intel/eagleheights/dsdt.asl index 6ad320ba03..4c98e54637 100644 --- a/src/mainboard/intel/eagleheights/dsdt.asl +++ b/src/mainboard/intel/eagleheights/dsdt.asl @@ -173,12 +173,19 @@ DefinitionBlock ("DSDT", "DSDT", 1, "EAGLE", "COREBOOT", 0x0000001) Method (_OSC, 4) { - /* Check for proper GUID */ + /* Check for PCI/PCI-X/PCIe GUID */ If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { /* Let OS control everything */ Return (Arg3) } + Else + { + /* Unrecognized UUID, so set bit 2 of Arg3 to 1 */ + CreateDWordField (Arg3, 0, CDW1) + Or (CDW1, 4, CDW1) + Return (Arg3) + } } /* End _OSC */ Method (_PRT, 0, NotSerialized) @@ -401,6 +408,7 @@ DefinitionBlock ("DSDT", "DSDT", 1, "EAGLE", "COREBOOT", 0x0000001) /* COM ports of SIO */ Device(SIO) { + Name (_ADR, 0x4E) OperationRegion (PT4E, SystemIO, 0x4E, 0x02) Field (PT4E, ByteAcc, NoLock, Preserve) { -- cgit v1.2.3