[coreboot] [commit] r5321 - in trunk/src: arch/i386/boot arch/i386/include/arch include/pc80 pc80

repository service svn at coreboot.org
Tue Mar 30 01:01:36 CEST 2010


Author: stepan
Date: Tue Mar 30 01:01:35 2010
New Revision: 5321
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5321

Log:
Don't include option_table.h every time we include mc146818rtc.h, that was a
stupid idea. Instead include it where it is needed. And add some explicit
dependencies to it.

Also, error for missing IRQ_SLOT_COUNT for now, so we can fix up the boards.

Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Stefan Reinauer <stepan at coresystems.de>

Modified:
   trunk/src/arch/i386/boot/Makefile.inc
   trunk/src/arch/i386/boot/coreboot_table.c
   trunk/src/arch/i386/include/arch/pirq_routing.h
   trunk/src/include/pc80/mc146818rtc.h
   trunk/src/pc80/Makefile.inc
   trunk/src/pc80/mc146818rtc.c
   trunk/src/pc80/mc146818rtc_early.c

Modified: trunk/src/arch/i386/boot/Makefile.inc
==============================================================================
--- trunk/src/arch/i386/boot/Makefile.inc	Tue Mar 30 00:08:01 2010	(r5320)
+++ trunk/src/arch/i386/boot/Makefile.inc	Tue Mar 30 01:01:35 2010	(r5321)
@@ -8,3 +8,5 @@
 obj-$(CONFIG_GENERATE_ACPI_TABLES) += acpigen.o
 obj-$(CONFIG_HAVE_ACPI_RESUME) += wakeup.o
 
+$(obj)/arch/i386/boot/coreboot_table.o : $(OPTION_TABLE_H)
+

Modified: trunk/src/arch/i386/boot/coreboot_table.c
==============================================================================
--- trunk/src/arch/i386/boot/coreboot_table.c	Tue Mar 30 00:08:01 2010	(r5320)
+++ trunk/src/arch/i386/boot/coreboot_table.c	Tue Mar 30 01:01:35 2010	(r5321)
@@ -30,7 +30,7 @@
 #include <device/device.h>
 #include <stdlib.h>
 #if (CONFIG_HAVE_OPTION_TABLE == 1)
-#include <pc80/mc146818rtc.h>
+#include <option_table.h>
 #endif
 
 static struct lb_header *lb_table_init(unsigned long addr)

Modified: trunk/src/arch/i386/include/arch/pirq_routing.h
==============================================================================
--- trunk/src/arch/i386/include/arch/pirq_routing.h	Tue Mar 30 00:08:01 2010	(r5320)
+++ trunk/src/arch/i386/include/arch/pirq_routing.h	Tue Mar 30 01:01:35 2010	(r5321)
@@ -16,11 +16,8 @@
 	uint8_t rfu;
 } __attribute__((packed));
 
-#if defined(CONFIG_IRQ_SLOT_COUNT)
-#define IRQ_SLOTS_COUNT CONFIG_IRQ_SLOT_COUNT
-#else
-#warning "No IRQ_SLOT_COUNT in Kconfig."
-#define IRQ_SLOTS_COUNT
+#if !defined(CONFIG_IRQ_SLOT_COUNT)
+#error "No IRQ_SLOT_COUNT in Kconfig."
 #endif
 
 struct irq_routing_table {
@@ -33,7 +30,7 @@
 	uint32_t miniport_data;			/* Crap */
 	uint8_t  rfu[11];
 	uint8_t  checksum;			/* Modulo 256 checksum must give zero */
-	struct irq_info slots[IRQ_SLOTS_COUNT];
+	struct irq_info slots[CONFIG_IRQ_SLOT_COUNT];
 } __attribute__((packed));
 
 extern const struct irq_routing_table intel_irq_routing_table;

Modified: trunk/src/include/pc80/mc146818rtc.h
==============================================================================
--- trunk/src/include/pc80/mc146818rtc.h	Tue Mar 30 00:08:01 2010	(r5320)
+++ trunk/src/include/pc80/mc146818rtc.h	Tue Mar 30 01:01:35 2010	(r5321)
@@ -81,10 +81,10 @@
 #define PC_CKS_RANGE_END	45
 #define PC_CKS_LOC		46
 
-/* coreboot cmos checksum is usually only built over bytes 49..125 */
-#if CONFIG_HAVE_OPTION_TABLE
-#include <option_table.h>
-#endif
+/* 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 !defined(ASSEMBLY) && !defined(__PRE_RAM__)
 void rtc_init(int invalid);

Modified: trunk/src/pc80/Makefile.inc
==============================================================================
--- trunk/src/pc80/Makefile.inc	Tue Mar 30 00:08:01 2010	(r5320)
+++ trunk/src/pc80/Makefile.inc	Tue Mar 30 01:01:35 2010	(r5321)
@@ -6,3 +6,5 @@
 
 #initobj-y += serial.o
 subdirs-y += vga
+
+$(obj)/pc80/mc146818rtc.o : $(OPTION_TABLE_H)

Modified: trunk/src/pc80/mc146818rtc.c
==============================================================================
--- trunk/src/pc80/mc146818rtc.c	Tue Mar 30 00:08:01 2010	(r5320)
+++ trunk/src/pc80/mc146818rtc.c	Tue Mar 30 01:01:35 2010	(r5321)
@@ -3,6 +3,9 @@
 #include <pc80/mc146818rtc.h>
 #include <boot/coreboot_tables.h>
 #include <string.h>
+#if CONFIG_HAVE_OPTION_TABLE
+#include <option_table.h>
+#endif
 
 /* control registers - Moto names
  */
@@ -257,7 +260,7 @@
 		}
 	}
 	if(!found) {
-		printk(BIOS_DEBUG, "WARNING: No cmos option '%s'\n", name);
+		printk(BIOS_DEBUG, "WARNING: No CMOS option '%s'.\n", name);
 		return(-2);
 	}
 	

Modified: trunk/src/pc80/mc146818rtc_early.c
==============================================================================
--- trunk/src/pc80/mc146818rtc_early.c	Tue Mar 30 00:08:01 2010	(r5320)
+++ trunk/src/pc80/mc146818rtc_early.c	Tue Mar 30 01:01:35 2010	(r5321)
@@ -1,5 +1,8 @@
 #include <pc80/mc146818rtc.h>
 #include <fallback.h>
+#if CONFIG_HAVE_OPTION_TABLE
+#include <option_table.h>
+#endif
 
 #ifndef CONFIG_MAX_REBOOT_CNT
 #error "CONFIG_MAX_REBOOT_CNT not defined"
@@ -40,6 +43,7 @@
 
 static int cmos_chksum_valid(void)
 {
+#if CONFIG_HAVE_OPTION_TABLE == 1
 	unsigned char addr;
 	unsigned long sum, old_sum;
 	sum = 0;
@@ -54,6 +58,9 @@
 	old_sum |=  cmos_read(LB_CKS_LOC+1);
 
 	return sum == old_sum;
+#else
+	return 0;
+#endif
 }
 
 




More information about the coreboot mailing list