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@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5321 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
798ef2893c
commit
8e726b7363
|
@ -8,3 +8,5 @@ obj-$(CONFIG_GENERATE_ACPI_TABLES) += acpi.o
|
||||||
obj-$(CONFIG_GENERATE_ACPI_TABLES) += acpigen.o
|
obj-$(CONFIG_GENERATE_ACPI_TABLES) += acpigen.o
|
||||||
obj-$(CONFIG_HAVE_ACPI_RESUME) += wakeup.o
|
obj-$(CONFIG_HAVE_ACPI_RESUME) += wakeup.o
|
||||||
|
|
||||||
|
$(obj)/arch/i386/boot/coreboot_table.o : $(OPTION_TABLE_H)
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#if (CONFIG_HAVE_OPTION_TABLE == 1)
|
#if (CONFIG_HAVE_OPTION_TABLE == 1)
|
||||||
#include <pc80/mc146818rtc.h>
|
#include <option_table.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct lb_header *lb_table_init(unsigned long addr)
|
static struct lb_header *lb_table_init(unsigned long addr)
|
||||||
|
|
|
@ -16,11 +16,8 @@ struct irq_info {
|
||||||
uint8_t rfu;
|
uint8_t rfu;
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
#if defined(CONFIG_IRQ_SLOT_COUNT)
|
#if !defined(CONFIG_IRQ_SLOT_COUNT)
|
||||||
#define IRQ_SLOTS_COUNT CONFIG_IRQ_SLOT_COUNT
|
#error "No IRQ_SLOT_COUNT in Kconfig."
|
||||||
#else
|
|
||||||
#warning "No IRQ_SLOT_COUNT in Kconfig."
|
|
||||||
#define IRQ_SLOTS_COUNT
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct irq_routing_table {
|
struct irq_routing_table {
|
||||||
|
@ -33,7 +30,7 @@ struct irq_routing_table {
|
||||||
uint32_t miniport_data; /* Crap */
|
uint32_t miniport_data; /* Crap */
|
||||||
uint8_t rfu[11];
|
uint8_t rfu[11];
|
||||||
uint8_t checksum; /* Modulo 256 checksum must give zero */
|
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));
|
} __attribute__((packed));
|
||||||
|
|
||||||
extern const struct irq_routing_table intel_irq_routing_table;
|
extern const struct irq_routing_table intel_irq_routing_table;
|
||||||
|
|
|
@ -81,10 +81,10 @@
|
||||||
#define PC_CKS_RANGE_END 45
|
#define PC_CKS_RANGE_END 45
|
||||||
#define PC_CKS_LOC 46
|
#define PC_CKS_LOC 46
|
||||||
|
|
||||||
/* coreboot cmos checksum is usually only built over bytes 49..125 */
|
/* coreboot cmos checksum is usually only built over bytes 49..125
|
||||||
#if CONFIG_HAVE_OPTION_TABLE
|
* LB_CKS_RANGE_START, LB_CKS_RANGE_END and LB_CKS_LOC are defined
|
||||||
#include <option_table.h>
|
* in option_table.h
|
||||||
#endif
|
*/
|
||||||
|
|
||||||
#if !defined(ASSEMBLY) && !defined(__PRE_RAM__)
|
#if !defined(ASSEMBLY) && !defined(__PRE_RAM__)
|
||||||
void rtc_init(int invalid);
|
void rtc_init(int invalid);
|
||||||
|
|
|
@ -6,3 +6,5 @@ obj-y += keyboard.o
|
||||||
|
|
||||||
#initobj-y += serial.o
|
#initobj-y += serial.o
|
||||||
subdirs-y += vga
|
subdirs-y += vga
|
||||||
|
|
||||||
|
$(obj)/pc80/mc146818rtc.o : $(OPTION_TABLE_H)
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
#include <pc80/mc146818rtc.h>
|
#include <pc80/mc146818rtc.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#if CONFIG_HAVE_OPTION_TABLE
|
||||||
|
#include <option_table.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* control registers - Moto names
|
/* control registers - Moto names
|
||||||
*/
|
*/
|
||||||
|
@ -257,7 +260,7 @@ int get_option(void *dest, const char *name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!found) {
|
if(!found) {
|
||||||
printk(BIOS_DEBUG, "WARNING: No cmos option '%s'\n", name);
|
printk(BIOS_DEBUG, "WARNING: No CMOS option '%s'.\n", name);
|
||||||
return(-2);
|
return(-2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
#include <pc80/mc146818rtc.h>
|
#include <pc80/mc146818rtc.h>
|
||||||
#include <fallback.h>
|
#include <fallback.h>
|
||||||
|
#if CONFIG_HAVE_OPTION_TABLE
|
||||||
|
#include <option_table.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_MAX_REBOOT_CNT
|
#ifndef CONFIG_MAX_REBOOT_CNT
|
||||||
#error "CONFIG_MAX_REBOOT_CNT not defined"
|
#error "CONFIG_MAX_REBOOT_CNT not defined"
|
||||||
|
@ -40,6 +43,7 @@ static int cmos_error(void)
|
||||||
|
|
||||||
static int cmos_chksum_valid(void)
|
static int cmos_chksum_valid(void)
|
||||||
{
|
{
|
||||||
|
#if CONFIG_HAVE_OPTION_TABLE == 1
|
||||||
unsigned char addr;
|
unsigned char addr;
|
||||||
unsigned long sum, old_sum;
|
unsigned long sum, old_sum;
|
||||||
sum = 0;
|
sum = 0;
|
||||||
|
@ -54,6 +58,9 @@ static int cmos_chksum_valid(void)
|
||||||
old_sum |= cmos_read(LB_CKS_LOC+1);
|
old_sum |= cmos_read(LB_CKS_LOC+1);
|
||||||
|
|
||||||
return sum == old_sum;
|
return sum == old_sum;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue