Martin Roth (martinroth@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12522
-gerrit
commit 0f34fefa1b172128fd553a5bce3dbf5d406cddb1 Author: Martin Roth martinroth@google.com Date: Mon Nov 23 16:27:53 2015 -0700
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 martinroth@google.com --- 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 bfcb4ce..702e2af 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 6ad320b..4c98e54 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) {