This patch drops the coreboot CMOS checksum ranges from Kconfig because

the information is already specified in cmos.layout. coreboot is changed
to use that version instead.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmai.com>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5313 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer
2010-03-29 17:14:28 +00:00
committed by Stefan Reinauer
parent 002c9ff3e4
commit b5828d7445
70 changed files with 114 additions and 768 deletions

View File

@@ -214,18 +214,6 @@ config XIP_ROM_SIZE
hex
default 0x20000
config LB_CKS_RANGE_START
int
default 49
config LB_CKS_RANGE_END
int
default 125
config LB_CKS_LOC
int
default 126
config LOGICAL_CPUS
bool
default y

View File

@@ -59,9 +59,9 @@ $(obj)/option_table.h $(obj)/option_table.c: $(obj)/build_opt_tbl $(top)/src/mai
@printf " OPTION $(subst $(obj)/,,$(@))\n"
$(obj)/build_opt_tbl --config $(top)/src/mainboard/$(MAINBOARDDIR)/cmos.layout --header $(obj)/option_table.h --option $(obj)/option_table.c
$(obj)/build_opt_tbl: $(top)/util/options/build_opt_tbl.c $(top)/src/include/pc80/mc146818rtc.h $(top)/src/include/boot/coreboot_tables.h $(obj)/config.h
$(obj)/build_opt_tbl: $(top)/util/options/build_opt_tbl.c $(top)/src/include/pc80/mc146818rtc.h $(top)/src/include/boot/coreboot_tables.h
@printf " HOSTCC $(subst $(obj)/,,$(@))\n"
$(HOSTCC) $(HOSTCFLAGS) -include $(obj)/config.h $< -o $@
$(HOSTCC) $(HOSTCFLAGS) $< -o $@
#######################################################################
# Build the coreboot_ram (stage 2)

View File

@@ -2,7 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2003-2004 Eric Biederman
* Copyright (C) 2005-2009 coresystems GmbH
* Copyright (C) 2005-2010 coresystems GmbH
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -29,6 +29,9 @@
#include <version.h>
#include <device/device.h>
#include <stdlib.h>
#if (CONFIG_HAVE_OPTION_TABLE == 1)
#include <pc80/mc146818rtc.h>
#endif
static struct lb_header *lb_table_init(unsigned long addr)
{
@@ -196,9 +199,9 @@ static struct cmos_checksum *lb_cmos_checksum(struct lb_header *header)
cmos_checksum->size = (sizeof(*cmos_checksum));
cmos_checksum->range_start = CONFIG_LB_CKS_RANGE_START * 8;
cmos_checksum->range_end = ( CONFIG_LB_CKS_RANGE_END * 8 ) + 7;
cmos_checksum->location = CONFIG_LB_CKS_LOC * 8;
cmos_checksum->range_start = LB_CKS_RANGE_START * 8;
cmos_checksum->range_end = ( LB_CKS_RANGE_END * 8 ) + 7;
cmos_checksum->location = LB_CKS_LOC * 8;
cmos_checksum->type = CHECKSUM_PCBIOS;
return cmos_checksum;

View File

@@ -81,15 +81,9 @@
#define PC_CKS_RANGE_END 45
#define PC_CKS_LOC 46
/* Linux bios checksum is built only over bytes 49..125 */
#ifndef CONFIG_LB_CKS_RANGE_START
#define CONFIG_LB_CKS_RANGE_START 49
#endif
#ifndef CONFIG_LB_CKS_RANGE_END
#define CONFIG_LB_CKS_RANGE_END 125
#endif
#ifndef CONFIG_LB_CKS_LOC
#define CONFIG_LB_CKS_LOC 126
/* coreboot cmos checksum is usually only built over bytes 49..125 */
#ifdef AUTOCONF_INCLUDED
#include <option_table.h>
#endif
#if !defined(ASSEMBLY)
@@ -97,7 +91,8 @@ void rtc_init(int invalid);
#if CONFIG_USE_OPTION_TABLE == 1
int get_option(void *dest, const char *name);
#else
static inline int get_option(void *dest, const char *name) { return -2; }
static inline int get_option(void *dest __attribute__((unused)),
const char *name __attribute__((unused))) { return -2; }
#endif
#endif

View File

@@ -30,4 +30,4 @@ obj-$(CONFIG_BOOTSPLASH) += jpeg.o
smmobj-y += memcpy.o
$(obj)/lib/version.o :: $(obj)/build.h
$(obj)/lib/version.o : $(obj)/build.h

View File

@@ -49,16 +49,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_AMD_DBM690T
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_AMD_DBM690T
config LB_CKS_LOC
int
default 123
depends on BOARD_AMD_DBM690T
config MAINBOARD_PART_NUMBER
string
default "DBM690T"

View File

@@ -51,16 +51,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_AMD_MAHOGANY
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_AMD_MAHOGANY
config LB_CKS_LOC
int
default 123
depends on BOARD_AMD_MAHOGANY
config MAINBOARD_PART_NUMBER
string
default "MAHOGANY"

View File

@@ -35,16 +35,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_AMD_MAHOGANY_FAM10
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_AMD_MAHOGANY_FAM10
config LB_CKS_LOC
int
default 123
depends on BOARD_AMD_MAHOGANY_FAM10
config MAINBOARD_PART_NUMBER
string
default "Mahogany (Fam10)"

View File

@@ -43,16 +43,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_AMD_PISTACHIO
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_AMD_PISTACHIO
config LB_CKS_LOC
int
default 123
depends on BOARD_AMD_PISTACHIO
config MAINBOARD_PART_NUMBER
string
default "Pistachio"

View File

@@ -46,16 +46,6 @@ config APIC_ID_OFFSET
default 0x8
depends on BOARD_AMD_SERENGETI_CHEETAH
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_AMD_SERENGETI_CHEETAH
config LB_CKS_LOC
int
default 123
depends on BOARD_AMD_SERENGETI_CHEETAH
config MAINBOARD_PART_NUMBER
string
default "Serengeti Cheetah"

View File

@@ -33,16 +33,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
config LB_CKS_LOC
int
default 123
depends on BOARD_AMD_SERENGETI_CHEETAH_FAM10
config MAINBOARD_PART_NUMBER
string
default "Serengeti Cheetah (Fam10)"

View File

@@ -35,16 +35,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_ARIMA_HDAMA
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_ARIMA_HDAMA
config LB_CKS_LOC
int
default 123
depends on BOARD_ARIMA_HDAMA
config MAINBOARD_PART_NUMBER
string
default "HDAMA"

View File

@@ -49,16 +49,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_ASUS_A8N_E
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_ASUS_A8N_E
config LB_CKS_LOC
int
default 123
depends on BOARD_ASUS_A8N_E
config MAINBOARD_PART_NUMBER
string
default "A8N-E"

View File

@@ -49,16 +49,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_ASUS_A8V_E_SE
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_ASUS_A8V_E_SE
config LB_CKS_LOC
int
default 123
depends on BOARD_ASUS_A8V_E_SE
config MAINBOARD_PART_NUMBER
string
default "A8V-E SE"

View File

@@ -82,16 +82,6 @@ config HEAP_SIZE
default 0x40000
depends on BOARD_ASUS_M2V_MX_SE
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_ASUS_M2V_MX_SE
config LB_CKS_LOC
int
default 123
depends on BOARD_ASUS_M2V_MX_SE
config HT_CHAIN_UNITID_BASE
hex
default 0x0

View File

@@ -46,16 +46,6 @@ config SB_HT_CHAIN_ON_BUS0
default 1
depends on BOARD_BROADCOM_BLAST
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_BROADCOM_BLAST
config LB_CKS_LOC
int
default 123
depends on BOARD_BROADCOM_BLAST
config MAINBOARD_PART_NUMBER
string
default "Blast"

View File

@@ -20,16 +20,6 @@ config MAINBOARD_DIR
default dell/s1850
depends on BOARD_DELL_S1850
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_DELL_S1850
config LB_CKS_LOC
int
default 123
depends on BOARD_DELL_S1850
config MAINBOARD_PART_NUMBER
string
default "PowerEdge 1850"

View File

@@ -50,21 +50,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_GIGABYTE_GA_2761GXDK
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_GIGABYTE_GA_2761GXDK
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_GIGABYTE_GA_2761GXDK
config LB_CKS_LOC
int
default 123
depends on BOARD_GIGABYTE_GA_2761GXDK
config MAINBOARD_PART_NUMBER
string
default "GA-2761GXDK"

View File

@@ -53,21 +53,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_GIGABYTE_M57SLI
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_GIGABYTE_M57SLI
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_GIGABYTE_M57SLI
config LB_CKS_LOC
int
default 123
depends on BOARD_GIGABYTE_M57SLI
config MAINBOARD_PART_NUMBER
string
default "GA-M57SLI-S4"

View File

@@ -52,16 +52,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_HP_DL145_G3
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_HP_DL145_G3
config LB_CKS_LOC
int
default 123
depends on BOARD_HP_DL145_G3
config MAINBOARD_PART_NUMBER
string
default "ProLiant DL145 G3"

View File

@@ -41,16 +41,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_IBM_E325
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_IBM_E325
config LB_CKS_LOC
int
default 123
depends on BOARD_IBM_E325
config MAINBOARD_PART_NUMBER
string
default "eServer 325"

View File

@@ -41,16 +41,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_IBM_E326
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_IBM_E326
config LB_CKS_LOC
int
default 123
depends on BOARD_IBM_E326
config MAINBOARD_PART_NUMBER
string
default "eServer 326"

View File

@@ -61,16 +61,6 @@ config DCACHE_RAM_SIZE
default 0x8000
depends on BOARD_INTEL_D945GCLF
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_INTEL_D945GCLF
config LB_CKS_LOC
int
default 123
depends on BOARD_INTEL_D945GCLF
config MAINBOARD_PART_NUMBER
string
default "D945GCLF"

View File

@@ -38,16 +38,6 @@ config DCACHE_RAM_SIZE
default 0x8000
depends on BOARD_INTEL_EAGLEHEIGHTS
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_INTEL_EAGLEHEIGHTS
config LB_CKS_LOC
int
default 123
depends on BOARD_INTEL_EAGLEHEIGHTS
config MAINBOARD_PART_NUMBER
string
default "EagleHeights"

View File

@@ -21,16 +21,6 @@ config MAINBOARD_DIR
default intel/jarrell
depends on BOARD_INTEL_JARRELL
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_INTEL_JARRELL
config LB_CKS_LOC
int
default 123
depends on BOARD_INTEL_JARRELL
config MAINBOARD_PART_NUMBER
string
default "Jarrell"

View File

@@ -17,16 +17,6 @@ config MAINBOARD_DIR
default intel/mtarvon
depends on BOARD_INTEL_MTARVON
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_INTEL_MTARVON
config LB_CKS_LOC
int
default 123
depends on BOARD_INTEL_MTARVON
config MAINBOARD_PART_NUMBER
string
default "3100 devkit (Mt. Arvon)"

View File

@@ -18,16 +18,6 @@ config MAINBOARD_DIR
default intel/truxton
depends on BOARD_INTEL_TRUXTON
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_INTEL_TRUXTON
config LB_CKS_LOC
int
default 123
depends on BOARD_INTEL_TRUXTON
config MAINBOARD_PART_NUMBER
string
default "Truxton"

View File

@@ -21,21 +21,6 @@ config MAINBOARD_DIR
default intel/xe7501devkit
depends on BOARD_INTEL_XE7501DEVKIT
config LB_CKS_RANGE_START
int
default 128
depends on BOARD_INTEL_XE7501DEVKIT
config LB_CKS_RANGE_END
int
default 130
depends on BOARD_INTEL_XE7501DEVKIT
config LB_CKS_LOC
int
default 131
depends on BOARD_INTEL_XE7501DEVKIT
config MAINBOARD_PART_NUMBER
string
default "XE7501devkit"

View File

@@ -45,16 +45,6 @@ config APIC_ID_OFFSET
default 0x10
depends on BOARD_IWILL_DK8_HTX
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_IWILL_DK8_HTX
config LB_CKS_LOC
int
default 123
depends on BOARD_IWILL_DK8_HTX
config MAINBOARD_PART_NUMBER
string
default "DK8-HTX"

View File

@@ -42,16 +42,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_IWILL_DK8S2
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_IWILL_DK8S2
config LB_CKS_LOC
int
default 123
depends on BOARD_IWILL_DK8S2
config MAINBOARD_PART_NUMBER
string
default "DK8S2"

View File

@@ -41,16 +41,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_IWILL_DK8X
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_IWILL_DK8X
config LB_CKS_LOC
int
default 123
depends on BOARD_IWILL_DK8X
config MAINBOARD_PART_NUMBER
string
default "DK8X"

View File

@@ -38,16 +38,6 @@ config DCACHE_RAM_SIZE
default 0x8000
depends on BOARD_KONTRON_986LCD_M
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_KONTRON_986LCD_M
config LB_CKS_LOC
int
default 123
depends on BOARD_KONTRON_986LCD_M
config MAINBOARD_PART_NUMBER
string
default "986LCD-M"

View File

@@ -35,26 +35,11 @@ config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
default 0x6900
depends on BOARD_KONTRON_KT690
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_KONTRON_KT690
config APIC_ID_OFFSET
hex
default 0x0
depends on BOARD_KONTRON_KT690
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_KONTRON_KT690
config LB_CKS_LOC
int
default 123
depends on BOARD_KONTRON_KT690
config MAINBOARD_PART_NUMBER
string
default "KT690/mITX"

View File

@@ -34,16 +34,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_MSI_MS7135
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_MSI_MS7135
config LB_CKS_LOC
int
default 123
depends on BOARD_MSI_MS7135
config MAINBOARD_PART_NUMBER
string
default "MS-7135"

View File

@@ -51,21 +51,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_MSI_MS7260
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_MSI_MS7260
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_MSI_MS7260
config LB_CKS_LOC
int
default 123
depends on BOARD_MSI_MS7260
config MAINBOARD_PART_NUMBER
string
default "MS-7260"

View File

@@ -47,16 +47,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_MSI_MS9185
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_MSI_MS9185
config LB_CKS_LOC
int
default 123
depends on BOARD_MSI_MS9185
config MAINBOARD_PART_NUMBER
string
default "MS-9185"

View File

@@ -45,21 +45,6 @@ config SB_HT_CHAIN_ON_BUS0
default 1
depends on BOARD_MSI_MS9282
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_MSI_MS9282
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_MSI_MS9282
config LB_CKS_LOC
int
default 123
depends on BOARD_MSI_MS9282
config MAINBOARD_PART_NUMBER
string
default "MS-9282"

View File

@@ -92,21 +92,6 @@ config USE_OPTION_TABLE
default n
depends on BOARD_MSI_MS9652_FAM10
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_MSI_MS9652_FAM10
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_MSI_MS9652_FAM10
config LB_CKS_LOC
int
default 123
depends on BOARD_MSI_MS9652_FAM10
config MAINBOARD_PART_NUMBER
string
default "MS-9652"

View File

@@ -45,16 +45,6 @@ config SB_HT_CHAIN_ON_BUS0
default 0
depends on BOARD_NEWISYS_KHEPRI
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_NEWISYS_KHEPRI
config LB_CKS_LOC
int
default 123
depends on BOARD_NEWISYS_KHEPRI
config MAINBOARD_PART_NUMBER
string
default "Khepri"

View File

@@ -51,21 +51,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_NVIDIA_L1_2PVV
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_NVIDIA_L1_2PVV
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_NVIDIA_L1_2PVV
config LB_CKS_LOC
int
default 123
depends on BOARD_NVIDIA_L1_2PVV
config MAINBOARD_PART_NUMBER
string
default "l1_2pvv"

View File

@@ -35,16 +35,6 @@ config DCACHE_RAM_SIZE
default 0x8000
depends on BOARD_RODA_RK886EX
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_RODA_RK886EX
config LB_CKS_LOC
int
default 123
depends on BOARD_RODA_RK886EX
config MAINBOARD_PART_NUMBER
string
default "RK886EX"

View File

@@ -49,16 +49,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_SUNW_ULTRA40
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUNW_ULTRA40
config LB_CKS_LOC
int
default 123
depends on BOARD_SUNW_ULTRA40
config MAINBOARD_PART_NUMBER
string
default "Ultra 40"

View File

@@ -56,16 +56,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_SUPERMICRO_H8DME
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_H8DME
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_H8DME
config MAINBOARD_PART_NUMBER
string
default "H8DME-2"

View File

@@ -55,16 +55,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_SUPERMICRO_H8DMR
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_H8DMR
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_H8DMR
config MAINBOARD_PART_NUMBER
string
default "H8DMR-i2"

View File

@@ -73,16 +73,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_SUPERMICRO_H8DMR_FAM10
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_H8DMR_FAM10
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_H8DMR_FAM10
config MAINBOARD_PART_NUMBER
string
default "H8DMR-i2 (Fam10)"

View File

@@ -74,16 +74,6 @@ config SB_HT_CHAIN_UNITID_OFFSET_ONLY
default n
depends on BOARD_SUPERMICRO_H8QME_FAM10
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_H8QME_FAM10
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_H8QME_FAM10
config MAINBOARD_PART_NUMBER
string
default "H8QME-2+ (Fam10)"

View File

@@ -17,16 +17,6 @@ config MAINBOARD_DIR
default supermicro/x6dai_g
depends on BOARD_SUPERMICRO_X6DAI_G
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_X6DAI_G
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_X6DAI_G
config MAINBOARD_PART_NUMBER
string
default "X6DAi-G"

View File

@@ -19,16 +19,6 @@ config MAINBOARD_DIR
default supermicro/x6dhe_g
depends on BOARD_SUPERMICRO_X6DHE_G
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_X6DHE_G
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_X6DHE_G
config MAINBOARD_PART_NUMBER
string
default "X6DHE-G"

View File

@@ -20,16 +20,6 @@ config MAINBOARD_DIR
default supermicro/x6dhe_g2
depends on BOARD_SUPERMICRO_X6DHE_G2
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_X6DHE_G2
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_X6DHE_G2
config MAINBOARD_PART_NUMBER
string
default "X6DHE-G2"

View File

@@ -19,16 +19,6 @@ config MAINBOARD_DIR
default supermicro/x6dhr_ig
depends on BOARD_SUPERMICRO_X6DHR_IG
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_X6DHR_IG
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_X6DHR_IG
config MAINBOARD_PART_NUMBER
string
default "X6DHR-iG"

View File

@@ -19,16 +19,6 @@ config MAINBOARD_DIR
default supermicro/x6dhr_ig2
depends on BOARD_SUPERMICRO_X6DHR_IG2
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_SUPERMICRO_X6DHR_IG2
config LB_CKS_LOC
int
default 123
depends on BOARD_SUPERMICRO_X6DHR_IG2
config MAINBOARD_PART_NUMBER
string
default "X6DHR-iG2"

View File

@@ -45,16 +45,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_TECHNEXION_TIM5690
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TECHNEXION_TIM5690
config LB_CKS_LOC
int
default 123
depends on BOARD_TECHNEXION_TIM5690
config MAINBOARD_PART_NUMBER
string
default "TIM-5690"

View File

@@ -44,16 +44,6 @@ config APIC_ID_OFFSET
default 0x0
depends on BOARD_TECHNEXION_TIM8690
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TECHNEXION_TIM8690
config LB_CKS_LOC
int
default 123
depends on BOARD_TECHNEXION_TIM8690
config MAINBOARD_PART_NUMBER
string
default "TIM-8690"

View File

@@ -31,21 +31,6 @@ config DCACHE_RAM_SIZE
default 0x1000
depends on BOARD_TYAN_S2735
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_TYAN_S2735
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2735
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2735
config MAINBOARD_PART_NUMBER
string
default "S2735"

View File

@@ -16,16 +16,6 @@ config MAINBOARD_DIR
default tyan/s2850
depends on BOARD_TYAN_S2850
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2850
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2850
config MAINBOARD_PART_NUMBER
string
default "S2850"

View File

@@ -17,16 +17,6 @@ config MAINBOARD_DIR
default tyan/s2875
depends on BOARD_TYAN_S2875
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2875
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2875
config MAINBOARD_PART_NUMBER
string
default "S2875"

View File

@@ -28,16 +28,6 @@ config SB_HT_CHAIN_ON_BUS0
default 0
depends on BOARD_TYAN_S2880
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2880
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2880
config MAINBOARD_PART_NUMBER
string
default "S2880"

View File

@@ -29,16 +29,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_TYAN_S2881
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2881
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2881
config MAINBOARD_PART_NUMBER
string
default "S2881"

View File

@@ -28,16 +28,6 @@ config SB_HT_CHAIN_ON_BUS0
default 0
depends on BOARD_TYAN_S2882
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2882
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2882
config MAINBOARD_PART_NUMBER
string
default "S2882"

View File

@@ -29,16 +29,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_TYAN_S2885
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2885
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2885
config MAINBOARD_PART_NUMBER
string
default "S2885"

View File

@@ -31,16 +31,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_TYAN_S2891
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2891
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2891
config MAINBOARD_PART_NUMBER
string
default "S2891"

View File

@@ -30,16 +30,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_TYAN_S2892
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2892
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2892
config MAINBOARD_PART_NUMBER
string
default "S2892"

View File

@@ -30,16 +30,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_TYAN_S2895
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2895
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2895
config MAINBOARD_PART_NUMBER
string
default "S2895"

View File

@@ -51,21 +51,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_TYAN_S2912
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_TYAN_S2912
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2912
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2912
config MAINBOARD_PART_NUMBER
string
default "S2912"

View File

@@ -53,21 +53,6 @@ config SB_HT_CHAIN_ON_BUS0
default 2
depends on BOARD_TYAN_S2912_FAM10
config LB_CKS_RANGE_START
int
default 49
depends on BOARD_TYAN_S2912_FAM10
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S2912_FAM10
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S2912_FAM10
config MAINBOARD_PART_NUMBER
string
default "S2912 (Fam10)"

View File

@@ -45,16 +45,6 @@ config SB_HT_CHAIN_ON_BUS0
default 0
depends on BOARD_TYAN_S4880
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S4880
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S4880
config MAINBOARD_PART_NUMBER
string
default "S4880"

View File

@@ -45,16 +45,6 @@ config SB_HT_CHAIN_ON_BUS0
default 0
depends on BOARD_TYAN_S4882
config LB_CKS_RANGE_END
int
default 122
depends on BOARD_TYAN_S4882
config LB_CKS_LOC
int
default 123
depends on BOARD_TYAN_S4882
config MAINBOARD_PART_NUMBER
string
default "S4882"

View File

@@ -185,8 +185,8 @@ void rtc_init(int invalid)
#if CONFIG_HAVE_OPTION_TABLE
/* See if there is a LB CMOS checksum error */
checksum_invalid = !rtc_checksum_valid(CONFIG_LB_CKS_RANGE_START,
CONFIG_LB_CKS_RANGE_END,CONFIG_LB_CKS_LOC);
checksum_invalid = !rtc_checksum_valid(LB_CKS_RANGE_START,
LB_CKS_RANGE_END,LB_CKS_LOC);
if(checksum_invalid)
printk(BIOS_DEBUG, "Invalid CMOS LB checksum\n");
@@ -263,8 +263,8 @@ int get_option(void *dest, const char *name)
if(get_cmos_value(ce->bit, ce->length, dest))
return(-3);
if(!rtc_checksum_valid(CONFIG_LB_CKS_RANGE_START,
CONFIG_LB_CKS_RANGE_END,CONFIG_LB_CKS_LOC))
if(!rtc_checksum_valid(LB_CKS_RANGE_START,
LB_CKS_RANGE_END,LB_CKS_LOC))
return(-4);
return(0);
}

View File

@@ -44,14 +44,14 @@ static int cmos_chksum_valid(void)
unsigned long sum, old_sum;
sum = 0;
/* Comput the cmos checksum */
for(addr = CONFIG_LB_CKS_RANGE_START; addr <= CONFIG_LB_CKS_RANGE_END; addr++) {
for(addr = LB_CKS_RANGE_START; addr <= LB_CKS_RANGE_END; addr++) {
sum += cmos_read(addr);
}
sum = (sum & 0xffff) ^ 0xffff;
/* Read the stored checksum */
old_sum = cmos_read(CONFIG_LB_CKS_LOC) << 8;
old_sum |= cmos_read(CONFIG_LB_CKS_LOC+1);
old_sum = cmos_read(LB_CKS_LOC) << 8;
old_sum |= cmos_read(LB_CKS_LOC+1);
return sum == old_sum;
}

View File

@@ -1,3 +1,23 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2003 Eric Biederman (ebiederm@xmission.com)
* Copyright (C) 2007-2010 coresystems GmbH
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -16,14 +36,14 @@
#define TMPFILE_TEMPLATE "/build_opt_tbl_XXXXXX"
static unsigned char cmos_table[4096];
void test_for_entry_overlaps(void *entry_start, void *entry_end);
/* This array is used to isolate bits that are to be changed in a byte */
static unsigned char clip[9]={0,1,3,7,0x0f,0x1f,0x3f,0x7f,0xff};
#ifdef WIN32
#include <fcntl.h>
char* mkstemp(char* name) {
char *mkstemp(char* name)
{
static char val='0';
char *c=name;
while (*c!='X') c++;
@@ -35,13 +55,15 @@ char* mkstemp(char* name) {
#define UNLINK_IF_NECESSARY(x)
#endif
/* This routine loops through the entried and tests if any of the fields overlap
input entry_start = the memory pointer to the start of the entries.
entry_end = the byte past the entries.
output none
if there is an overlap, the routine exits, other wise it returns.
*/
void test_for_entry_overlaps(void *entry_start, void *entry_end)
/**
* This routine loops through the entried and tests if any of the fields
* overlap.
* If there is an overlap, the routine exits, otherwise it returns.
*
* @param entry_start memory pointer to the start of the entries.
* @param entry_end memory pointer to the byte past the entries.
*/
static void test_for_entry_overlaps(void *entry_start, void *entry_end)
{
int ptr;
char *cptr;
@@ -63,7 +85,7 @@ void test_for_entry_overlaps(void *entry_start, void *entry_end)
for(cptr = entry_start; cptr < (char *)entry_end; cptr += ce->size) {
ce=(struct cmos_entries *)cptr;
/* test if entry goes past the end of the buffer */
if((ce->bit+ce->length)>buffer_bit_size) {
if((int)(ce->bit+ce->length) > buffer_bit_size) {
printf("Error - Entry %s start bit + length must be less than %d\n",
ce->name,buffer_bit_size);
exit(1);
@@ -94,7 +116,7 @@ void test_for_entry_overlaps(void *entry_start, void *entry_end)
}
} else {
/* test if bits overlap byte boundaries */
if(ce->length>(8-offset)) {
if((int)ce->length > (8-offset)) {
printf("Error - Entry %s length overlaps a byte boundry\n",
ce->name);
exit(1);
@@ -113,7 +135,7 @@ void test_for_entry_overlaps(void *entry_start, void *entry_end)
}
/* This routine displays the usage options */
void display_usage(char *name)
static void display_usage(char *name)
{
printf("Usage: %s [--config filename]\n", name);
printf(" [--option filename]\n");
@@ -124,7 +146,6 @@ void display_usage(char *name)
exit(1);
}
static void skip_spaces(char *line, char **ptr)
{
if (!isspace(**ptr)) {
@@ -136,6 +157,7 @@ static void skip_spaces(char *line, char **ptr)
}
return;
}
static unsigned long get_number(char *line, char **ptr, int base)
{
unsigned long value;
@@ -210,19 +232,22 @@ static int is_ident(char *str)
return result;
}
/* This routine builds the cmos definition table from the cmos layout file
input The input comes from the configuration file which contains two parts
entries and enumerations. Each section is started with the key words
entries and enumerations. Records then follow in their respective
formats.
output The output of this program is the cmos definitions table. It is stored
in the cmos_table array. If this module is called, and the global
table_file has been implimented by the user, the table is also written
to the specified file.
This program exits on and error. It returns a 1 on successful
completion
*/
/**
* This routine builds the cmos definition table from the cmos layout file
*
* The input comes from the configuration file which contains two parts
* entries and enumerations. Each section is started with the key words
* entries and enumerations. Records then follow in their respective
* formats.
*
* The output of this program is the cmos definitions table. It is stored
* in the cmos_table array. If this module is called, and the global
* table_file has been implimented by the user, the table is also written
* to the specified file.
*
* This program exits with a return code of 1 on error. It returns 0 on
* successful completion
*/
int main(int argc, char **argv)
{
int i;
@@ -230,18 +255,17 @@ int main(int argc, char **argv)
char *option=0;
char *header=0;
FILE *fp;
int tmpfile;
char tmpfilename[TMPFILE_LEN];
int tempfile;
char tempfilename[TMPFILE_LEN];
struct cmos_option_table *ct;
struct cmos_entries *ce;
struct cmos_enums *c_enums, *c_enums_start;
struct cmos_checksum *cs;
struct cmos_checksum *cs, *new_cs;
char line[INPUT_LINE_MAX];
unsigned char uc;
int entry_mode=0;
int enum_mode=0;
int checksum_mode=0;
long ptr;
int cnt;
char *cptr;
void *entry_start, *entry_end;
@@ -314,19 +338,23 @@ int main(int argc, char **argv)
for(;;){ /* this section loops through the entry records */
if(fgets(line,INPUT_LINE_MAX,fp)==NULL)
break; /* end if no more input */
// FIXME mode should be a single enum.
if(!entry_mode) { /* skip input until the entries key word */
if (strstr(line,"entries") != 0) {
entry_mode=1;
enum_mode=0;
checksum_mode=0;
continue;
}
}
else{ /* Test if we are done with entries and starting enumerations */
} else { /* Test if we are done with entries and starting enumerations */
if (strstr(line,"enumerations") != 0){
entry_mode=0;
enum_mode=1;
checksum_mode=0;
break;
}
if (strstr(line, "checksums") != 0) {
entry_mode=0;
enum_mode=0;
checksum_mode=1;
break;
@@ -379,6 +407,7 @@ int main(int argc, char **argv)
test_for_entry_overlaps(entry_start, entry_end);
for(;enum_mode;){ /* loop to build the enumerations section */
long ptr;
if(fgets(line,INPUT_LINE_MAX,fp)==NULL)
break; /* go till end of input */
@@ -420,8 +449,7 @@ int main(int argc, char **argv)
ct->size=ct->header_length+enum_length+entries_length;
/* Get the checksum records */
cs=(struct cmos_checksum *)(cmos_table+(ct->size));
cptr = (char*)cs;
new_cs = (struct cmos_checksum *)(cmos_table+(ct->size));
for(;checksum_mode;) { /* This section finds the checksums */
char *ptr;
if(fgets(line, INPUT_LINE_MAX,fp)==NULL)
@@ -432,6 +460,9 @@ int main(int argc, char **argv)
if (line[strspn(line, " ")]=='\n') continue;
if (memcmp(line, "checksum", 8) != 0) continue;
/* We actually found a new cmos checksum entry */
cs = new_cs;
/* get the information */
ptr = line + 8;
skip_spaces(line, &ptr);
@@ -476,10 +507,10 @@ int main(int argc, char **argv)
cs->tag = LB_TAG_OPTION_CHECKSUM;
cs->size = sizeof(*cs);
cs->type = CHECKSUM_PCBIOS;
cptr = (char *)cs;
cptr += cs->size;
cs = (struct cmos_checksum *)cptr;
new_cs = (struct cmos_checksum *)cptr;
}
ct->size += (cptr - (char *)(cmos_table + ct->size));
fclose(fp);
@@ -487,17 +518,17 @@ int main(int argc, char **argv)
/* See if we want to output a C source file */
if(option) {
int err=0;
strncpy(tmpfilename, dirname(strdup(option)), TMPFILE_LEN);
strncat(tmpfilename, TMPFILE_TEMPLATE, TMPFILE_LEN);
tmpfile = mkstemp(tmpfilename);
if(tmpfile == -1) {
strncpy(tempfilename, dirname(strdup(option)), TMPFILE_LEN);
strncat(tempfilename, TMPFILE_TEMPLATE, TMPFILE_LEN);
tempfile = mkstemp(tempfilename);
if(tempfile == -1) {
perror("Error - Could not create temporary file");
exit(1);
}
if((fp=fdopen(tmpfile,"w"))==NULL){
if((fp=fdopen(tempfile,"w"))==NULL){
perror("Error - Could not open temporary file");
unlink(tmpfilename);
unlink(tempfilename);
exit(1);
}
@@ -505,11 +536,11 @@ int main(int argc, char **argv)
if(!fwrite("unsigned char option_table[] = {",1,32,fp)) {
perror("Error - Could not write image file");
fclose(fp);
unlink(tmpfilename);
unlink(tempfilename);
exit(1);
}
/* write the array values */
for(i=0;i<(ct->size-1);i++) {
for(i=0; i<(int)(ct->size-1); i++) {
if(!(i%10) && !err) err=!fwrite("\n\t",1,2,fp);
sprintf(buf,"0x%02x,",cmos_table[i]);
if(!err) err=!fwrite(buf,1,5,fp);
@@ -520,16 +551,16 @@ int main(int argc, char **argv)
if(!fwrite("};\n",1,3,fp)) {
perror("Error - Could not write image file");
fclose(fp);
unlink(tmpfilename);
unlink(tempfilename);
exit(1);
}
fclose(fp);
UNLINK_IF_NECESSARY(option);
if (rename(tmpfilename, option)) {
if (rename(tempfilename, option)) {
fprintf(stderr, "Error - Could not write %s: ", option);
perror(NULL);
unlink(tmpfilename);
unlink(tempfilename);
exit(1);
}
}
@@ -539,18 +570,18 @@ int main(int argc, char **argv)
struct cmos_option_table *hdr;
struct lb_record *ptr, *end;
strncpy(tmpfilename, dirname(strdup(option)), TMPFILE_LEN);
strncat(tmpfilename, TMPFILE_TEMPLATE, TMPFILE_LEN);
tmpfile = mkstemp(tmpfilename);
if(tmpfile == -1) {
strncpy(tempfilename, dirname(strdup(option)), TMPFILE_LEN);
strncat(tempfilename, TMPFILE_TEMPLATE, TMPFILE_LEN);
tempfile = mkstemp(tempfilename);
if(tempfile == -1) {
perror("Error - Could not create temporary file");
exit(1);
}
fp = fdopen(tmpfile, "w");
fp = fdopen(tempfile, "w");
if (!fp) {
perror("Error - Could not open temporary file");
unlink(tmpfilename);
unlink(tempfilename);
exit(1);
}
@@ -569,7 +600,7 @@ int main(int argc, char **argv)
fprintf(stderr, "Invalid identifier: %s\n",
ce->name);
fclose(fp);
unlink(tmpfilename);
unlink(tempfilename);
exit(1);
}
fprintf(fp, "#define CMOS_VSTART_%s %d\n",
@@ -577,17 +608,21 @@ int main(int argc, char **argv)
fprintf(fp, "#define CMOS_VLEN_%s %d\n",
ce->name, ce->length);
}
fprintf(fp, "\n#define LB_CKS_RANGE_START %d\n", cs->range_start / 8);
fprintf(fp, "#define LB_CKS_RANGE_END %d\n", cs->range_end / 8);
fprintf(fp, "#define LB_CKS_LOC %d\n", cs->location / 8);
fclose(fp);
UNLINK_IF_NECESSARY(header);
if (rename(tmpfilename, header)) {
if (rename(tempfilename, header)) {
fprintf(stderr, "Error - Could not write %s: ", header);
perror(NULL);
unlink(tmpfilename);
unlink(tempfilename);
exit(1);
}
}
return(0);
return 0;
}