[coreboot-gerrit] New patch to review for coreboot: lippert/frontronner-af & toucan-af: Fix IASL warnings

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Wed Nov 25 00:25:44 CET 2015


Martin Roth (martinroth at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12530

-gerrit

commit 952f6a75c0d97db19c6bbef872ef8ca9e2db827a
Author: Martin Roth <martinroth at google.com>
Date:   Tue Nov 24 16:17:11 2015 -0700

    lippert/frontronner-af & toucan-af: Fix IASL warnings
    
    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.
    
    Fixes warnings for both platforms:
    dsdt.aml 1143:  Method(_OSC,4)
    Warning  3115 -          ^ Not all control paths return a value (_OSC)
    dsdt.aml 1143:  Method(_OSC,4)
    Warning  3107 -          ^ Reserved method must return a value
    (Buffer required for _OSC)
    
    Change-Id: Ibaf27c5244b1242b4fc1de474c371f54f930dcb6
    Signed-off-by: Martin Roth <martinroth at google.com>
---
 src/mainboard/lippert/frontrunner-af/Kconfig  |  4 ----
 src/mainboard/lippert/frontrunner-af/dsdt.asl | 17 ++++++++++++-----
 src/mainboard/lippert/toucan-af/Kconfig       |  4 ----
 src/mainboard/lippert/toucan-af/dsdt.asl      | 17 ++++++++++++-----
 4 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/src/mainboard/lippert/frontrunner-af/Kconfig b/src/mainboard/lippert/frontrunner-af/Kconfig
index ebf362d..1ec219e 100644
--- a/src/mainboard/lippert/frontrunner-af/Kconfig
+++ b/src/mainboard/lippert/frontrunner-af/Kconfig
@@ -76,8 +76,4 @@ config SB800_AHCI_ROM
 	bool
 	default n
 
-# TODO: Remove this when platform ASL is fixed
-config IASL_WARNINGS_ARE_ERRORS
-	def_bool n
-
 endif # BOARD_LIPPERT_FRONTRUNNER_AF
diff --git a/src/mainboard/lippert/frontrunner-af/dsdt.asl b/src/mainboard/lippert/frontrunner-af/dsdt.asl
index a685b2c..8cdce06 100644
--- a/src/mainboard/lippert/frontrunner-af/dsdt.asl
+++ b/src/mainboard/lippert/frontrunner-af/dsdt.asl
@@ -1157,15 +1157,22 @@ DefinitionBlock (
 			Name(_CID, EISAID("PNP0A03"))	/* PCI Root Bridge */
 			Name(_ADR, 0x00180000)	/* Dev# = BSP Dev#, Func# = 0 */
 
-			/* Operating System Capabilities Method */
-			Method(_OSC,4)
-			{	/* Check for proper PCI/PCIe UUID */
-				If(LEqual(Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766")))
+			Method (_OSC, 4)
+			{
+				/* 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(_BBN, 0) { /* Bus number = 0 */
 				Return(0)
diff --git a/src/mainboard/lippert/toucan-af/Kconfig b/src/mainboard/lippert/toucan-af/Kconfig
index 9e29a85..590909b 100644
--- a/src/mainboard/lippert/toucan-af/Kconfig
+++ b/src/mainboard/lippert/toucan-af/Kconfig
@@ -78,8 +78,4 @@ config SB800_AHCI_ROM
 	bool
 	default n
 
-# TODO: Remove this when platform ASL is fixed
-config IASL_WARNINGS_ARE_ERRORS
-	def_bool n
-
 endif # BOARD_LIPPERT_TOUCAN_AF
diff --git a/src/mainboard/lippert/toucan-af/dsdt.asl b/src/mainboard/lippert/toucan-af/dsdt.asl
index 89c5c33..515acd2 100644
--- a/src/mainboard/lippert/toucan-af/dsdt.asl
+++ b/src/mainboard/lippert/toucan-af/dsdt.asl
@@ -1157,15 +1157,22 @@ DefinitionBlock (
 			Name(_CID, EISAID("PNP0A03"))	/* PCI Root Bridge */
 			Name(_ADR, 0x00180000)	/* Dev# = BSP Dev#, Func# = 0 */
 
-			/* Operating System Capabilities Method */
-			Method(_OSC,4)
-			{	/* Check for proper PCI/PCIe UUID */
-				If(LEqual(Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766")))
+			Method (_OSC, 4)
+			{
+				/* 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(_BBN, 0) { /* Bus number = 0 */
 				Return(0)



More information about the coreboot-gerrit mailing list