Author: stepan
Date: Wed Sep  1 18:27:13 2010
New Revision: 5762
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5762

Log:
Fix race condition in option_table.h generation by moving the include statement
to those files that actually need it. This significantly reduces the number of
dependencies, so it's no longer extremely ugly to specify them manually (see 
the src/pc80/Makefile.inc portion)
Also, drop the AMD DBM690T work around for the issue.

Signed-off-by: Stefan Reinauer <[email protected]>
Acked-by: Myles Watson <[email protected]>

Modified:
   trunk/src/include/pc80/mc146818rtc.h
   trunk/src/mainboard/amd/dbm690t/Kconfig
   trunk/src/pc80/Makefile.inc
   trunk/src/pc80/mc146818rtc.c
   trunk/src/pc80/mc146818rtc_early.c

Modified: trunk/src/include/pc80/mc146818rtc.h
==============================================================================
--- trunk/src/include/pc80/mc146818rtc.h        Wed Sep  1 05:40:57 2010        
(r5761)
+++ trunk/src/include/pc80/mc146818rtc.h        Wed Sep  1 18:27:13 2010        
(r5762)
@@ -81,14 +81,6 @@
 #define PC_CKS_RANGE_END       45
 #define PC_CKS_LOC             46
 
-/* coreboot cmos checksum is usually only built over bytes 49..125
- * LB_CKS_RANGE_START, LB_CKS_RANGE_END and LB_CKS_LOC are defined
- * in option_table.h
- */
-#if CONFIG_HAVE_OPTION_TABLE
-#include <option_table.h>
-#endif
-
 #ifndef UTIL_BUILD_OPTION_TABLE
 #include <arch/io.h>
 static inline unsigned char cmos_read(unsigned char addr)

Modified: trunk/src/mainboard/amd/dbm690t/Kconfig
==============================================================================
--- trunk/src/mainboard/amd/dbm690t/Kconfig     Wed Sep  1 05:40:57 2010        
(r5761)
+++ trunk/src/mainboard/amd/dbm690t/Kconfig     Wed Sep  1 18:27:13 2010        
(r5762)
@@ -25,12 +25,6 @@
        string
        default amd/dbm690t
 
-# This is a temporary fix, and should be removed when the race condition for
-# building option_table.h is fixed.
-config WARNINGS_ARE_ERRORS
-       bool
-       default n
-
 config DCACHE_RAM_BASE
        hex
        default 0xc8000

Modified: trunk/src/pc80/Makefile.inc
==============================================================================
--- trunk/src/pc80/Makefile.inc Wed Sep  1 05:40:57 2010        (r5761)
+++ trunk/src/pc80/Makefile.inc Wed Sep  1 18:27:13 2010        (r5762)
@@ -8,3 +8,4 @@
 subdirs-y += vga
 
 $(obj)/pc80/mc146818rtc.o : $(OPTION_TABLE_H)
+$(obj)/pc80/mc146818rtc_early.initobj.o : $(OPTION_TABLE_H)

Modified: trunk/src/pc80/mc146818rtc.c
==============================================================================
--- trunk/src/pc80/mc146818rtc.c        Wed Sep  1 05:40:57 2010        (r5761)
+++ trunk/src/pc80/mc146818rtc.c        Wed Sep  1 18:27:13 2010        (r5762)
@@ -2,6 +2,9 @@
 #include <pc80/mc146818rtc.h>
 #include <boot/coreboot_tables.h>
 #include <string.h>
+#if CONFIG_USE_OPTION_TABLE
+#include <option_table.h>
+#endif
 
 /* control registers - Moto names
  */

Modified: trunk/src/pc80/mc146818rtc_early.c
==============================================================================
--- trunk/src/pc80/mc146818rtc_early.c  Wed Sep  1 05:40:57 2010        (r5761)
+++ trunk/src/pc80/mc146818rtc_early.c  Wed Sep  1 18:27:13 2010        (r5762)
@@ -1,6 +1,10 @@
 #include <pc80/mc146818rtc.h>
 #include <fallback.h>
 
+#if CONFIG_USE_OPTION_TABLE
+#include <option_table.h>
+#endif
+
 #ifndef CONFIG_MAX_REBOOT_CNT
 #error "CONFIG_MAX_REBOOT_CNT not defined"
 #endif

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to