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 Index: src/Kconfig =================================================================== --- src/Kconfig (revision 5310) +++ src/Kconfig (working copy) @@ -214,18 +214,6 @@ 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 Index: src/include/pc80/mc146818rtc.h =================================================================== --- src/include/pc80/mc146818rtc.h (revision 5310) +++ src/include/pc80/mc146818rtc.h (working copy) @@ -81,23 +81,18 @@ #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 +/* Linux bios checksum is usually built only over bytes 49..125 */ +#ifdef AUTOCONF_INCLUDED +#include #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 -#endif #if !defined(ASSEMBLY) 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 Index: src/mainboard/iwill/dk8_htx/Kconfig =================================================================== --- src/mainboard/iwill/dk8_htx/Kconfig (revision 5310) +++ src/mainboard/iwill/dk8_htx/Kconfig (working copy) @@ -45,16 +45,6 @@ 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" Index: src/mainboard/iwill/dk8s2/Kconfig =================================================================== --- src/mainboard/iwill/dk8s2/Kconfig (revision 5310) +++ src/mainboard/iwill/dk8s2/Kconfig (working copy) @@ -42,16 +42,6 @@ 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" Index: src/mainboard/iwill/dk8x/Kconfig =================================================================== --- src/mainboard/iwill/dk8x/Kconfig (revision 5310) +++ src/mainboard/iwill/dk8x/Kconfig (working copy) @@ -41,16 +41,6 @@ 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" Index: src/mainboard/broadcom/blast/Kconfig =================================================================== --- src/mainboard/broadcom/blast/Kconfig (revision 5310) +++ src/mainboard/broadcom/blast/Kconfig (working copy) @@ -46,16 +46,6 @@ 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" Index: src/mainboard/supermicro/x6dai_g/Kconfig =================================================================== --- src/mainboard/supermicro/x6dai_g/Kconfig (revision 5310) +++ src/mainboard/supermicro/x6dai_g/Kconfig (working copy) @@ -17,16 +17,6 @@ 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" Index: src/mainboard/supermicro/h8dmr/Kconfig =================================================================== --- src/mainboard/supermicro/h8dmr/Kconfig (revision 5310) +++ src/mainboard/supermicro/h8dmr/Kconfig (working copy) @@ -55,16 +55,6 @@ 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" Index: src/mainboard/supermicro/x6dhe_g/Kconfig =================================================================== --- src/mainboard/supermicro/x6dhe_g/Kconfig (revision 5310) +++ src/mainboard/supermicro/x6dhe_g/Kconfig (working copy) @@ -19,16 +19,6 @@ 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" Index: src/mainboard/supermicro/h8dme/Kconfig =================================================================== --- src/mainboard/supermicro/h8dme/Kconfig (revision 5310) +++ src/mainboard/supermicro/h8dme/Kconfig (working copy) @@ -56,16 +56,6 @@ 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" Index: src/mainboard/supermicro/h8dmr_fam10/Kconfig =================================================================== --- src/mainboard/supermicro/h8dmr_fam10/Kconfig (revision 5310) +++ src/mainboard/supermicro/h8dmr_fam10/Kconfig (working copy) @@ -73,16 +73,6 @@ 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)" Index: src/mainboard/supermicro/h8qme_fam10/Kconfig =================================================================== --- src/mainboard/supermicro/h8qme_fam10/Kconfig (revision 5310) +++ src/mainboard/supermicro/h8qme_fam10/Kconfig (working copy) @@ -74,16 +74,6 @@ 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)" Index: src/mainboard/supermicro/x6dhe_g2/Kconfig =================================================================== --- src/mainboard/supermicro/x6dhe_g2/Kconfig (revision 5310) +++ src/mainboard/supermicro/x6dhe_g2/Kconfig (working copy) @@ -20,16 +20,6 @@ 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" Index: src/mainboard/supermicro/x6dhr_ig/Kconfig =================================================================== --- src/mainboard/supermicro/x6dhr_ig/Kconfig (revision 5310) +++ src/mainboard/supermicro/x6dhr_ig/Kconfig (working copy) @@ -19,16 +19,6 @@ 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" Index: src/mainboard/supermicro/x6dhr_ig2/Kconfig =================================================================== --- src/mainboard/supermicro/x6dhr_ig2/Kconfig (revision 5310) +++ src/mainboard/supermicro/x6dhr_ig2/Kconfig (working copy) @@ -19,16 +19,6 @@ 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" Index: src/mainboard/kontron/986lcd-m/Kconfig =================================================================== --- src/mainboard/kontron/986lcd-m/Kconfig (revision 5310) +++ src/mainboard/kontron/986lcd-m/Kconfig (working copy) @@ -38,16 +38,6 @@ 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" Index: src/mainboard/kontron/kt690/Kconfig =================================================================== --- src/mainboard/kontron/kt690/Kconfig (revision 5310) +++ src/mainboard/kontron/kt690/Kconfig (working copy) @@ -35,26 +35,11 @@ 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" Index: src/mainboard/gigabyte/m57sli/Kconfig =================================================================== --- src/mainboard/gigabyte/m57sli/Kconfig (revision 5310) +++ src/mainboard/gigabyte/m57sli/Kconfig (working copy) @@ -53,21 +53,6 @@ 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" Index: src/mainboard/gigabyte/ga_2761gxdk/Kconfig =================================================================== --- src/mainboard/gigabyte/ga_2761gxdk/Kconfig (revision 5310) +++ src/mainboard/gigabyte/ga_2761gxdk/Kconfig (working copy) @@ -50,21 +50,6 @@ 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" Index: src/mainboard/amd/mahogany/Kconfig =================================================================== --- src/mainboard/amd/mahogany/Kconfig (revision 5310) +++ src/mainboard/amd/mahogany/Kconfig (working copy) @@ -51,16 +51,6 @@ 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" Index: src/mainboard/amd/pistachio/Kconfig =================================================================== --- src/mainboard/amd/pistachio/Kconfig (revision 5310) +++ src/mainboard/amd/pistachio/Kconfig (working copy) @@ -43,16 +43,6 @@ 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" Index: src/mainboard/amd/dbm690t/Kconfig =================================================================== --- src/mainboard/amd/dbm690t/Kconfig (revision 5310) +++ src/mainboard/amd/dbm690t/Kconfig (working copy) @@ -49,16 +49,6 @@ 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" Index: src/mainboard/amd/serengeti_cheetah/Kconfig =================================================================== --- src/mainboard/amd/serengeti_cheetah/Kconfig (revision 5310) +++ src/mainboard/amd/serengeti_cheetah/Kconfig (working copy) @@ -46,16 +46,6 @@ 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" Index: src/mainboard/amd/mahogany_fam10/Kconfig =================================================================== --- src/mainboard/amd/mahogany_fam10/Kconfig (revision 5310) +++ src/mainboard/amd/mahogany_fam10/Kconfig (working copy) @@ -35,16 +35,6 @@ 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)" Index: src/mainboard/amd/serengeti_cheetah_fam10/Kconfig =================================================================== --- src/mainboard/amd/serengeti_cheetah_fam10/Kconfig (revision 5310) +++ src/mainboard/amd/serengeti_cheetah_fam10/Kconfig (working copy) @@ -33,16 +33,6 @@ 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)" Index: src/mainboard/hp/dl145_g3/Kconfig =================================================================== --- src/mainboard/hp/dl145_g3/Kconfig (revision 5310) +++ src/mainboard/hp/dl145_g3/Kconfig (working copy) @@ -52,16 +52,6 @@ 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" Index: src/mainboard/tyan/s2912/Kconfig =================================================================== --- src/mainboard/tyan/s2912/Kconfig (revision 5310) +++ src/mainboard/tyan/s2912/Kconfig (working copy) @@ -51,21 +51,6 @@ 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" Index: src/mainboard/tyan/s2850/Kconfig =================================================================== --- src/mainboard/tyan/s2850/Kconfig (revision 5310) +++ src/mainboard/tyan/s2850/Kconfig (working copy) @@ -16,16 +16,6 @@ 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" Index: src/mainboard/tyan/s2735/Kconfig =================================================================== --- src/mainboard/tyan/s2735/Kconfig (revision 5310) +++ src/mainboard/tyan/s2735/Kconfig (working copy) @@ -31,21 +31,6 @@ 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" Index: src/mainboard/tyan/s2880/Kconfig =================================================================== --- src/mainboard/tyan/s2880/Kconfig (revision 5310) +++ src/mainboard/tyan/s2880/Kconfig (working copy) @@ -28,16 +28,6 @@ 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" Index: src/mainboard/tyan/s2881/Kconfig =================================================================== --- src/mainboard/tyan/s2881/Kconfig (revision 5310) +++ src/mainboard/tyan/s2881/Kconfig (working copy) @@ -29,16 +29,6 @@ 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" Index: src/mainboard/tyan/s2882/Kconfig =================================================================== --- src/mainboard/tyan/s2882/Kconfig (revision 5310) +++ src/mainboard/tyan/s2882/Kconfig (working copy) @@ -28,16 +28,6 @@ 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" Index: src/mainboard/tyan/s2891/Kconfig =================================================================== --- src/mainboard/tyan/s2891/Kconfig (revision 5310) +++ src/mainboard/tyan/s2891/Kconfig (working copy) @@ -31,16 +31,6 @@ 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" Index: src/mainboard/tyan/s4880/Kconfig =================================================================== --- src/mainboard/tyan/s4880/Kconfig (revision 5310) +++ src/mainboard/tyan/s4880/Kconfig (working copy) @@ -45,16 +45,6 @@ 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" Index: src/mainboard/tyan/s2892/Kconfig =================================================================== --- src/mainboard/tyan/s2892/Kconfig (revision 5310) +++ src/mainboard/tyan/s2892/Kconfig (working copy) @@ -30,16 +30,6 @@ 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" Index: src/mainboard/tyan/s2875/Kconfig =================================================================== --- src/mainboard/tyan/s2875/Kconfig (revision 5310) +++ src/mainboard/tyan/s2875/Kconfig (working copy) @@ -17,16 +17,6 @@ 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" Index: src/mainboard/tyan/s4882/Kconfig =================================================================== --- src/mainboard/tyan/s4882/Kconfig (revision 5310) +++ src/mainboard/tyan/s4882/Kconfig (working copy) @@ -45,16 +45,6 @@ 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" Index: src/mainboard/tyan/s2885/Kconfig =================================================================== --- src/mainboard/tyan/s2885/Kconfig (revision 5310) +++ src/mainboard/tyan/s2885/Kconfig (working copy) @@ -29,16 +29,6 @@ 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" Index: src/mainboard/tyan/s2895/Kconfig =================================================================== --- src/mainboard/tyan/s2895/Kconfig (revision 5310) +++ src/mainboard/tyan/s2895/Kconfig (working copy) @@ -30,16 +30,6 @@ 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" Index: src/mainboard/tyan/s2912_fam10/Kconfig =================================================================== --- src/mainboard/tyan/s2912_fam10/Kconfig (revision 5310) +++ src/mainboard/tyan/s2912_fam10/Kconfig (working copy) @@ -53,21 +53,6 @@ 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)" Index: src/mainboard/dell/s1850/Kconfig =================================================================== --- src/mainboard/dell/s1850/Kconfig (revision 5310) +++ src/mainboard/dell/s1850/Kconfig (working copy) @@ -20,16 +20,6 @@ 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" Index: src/mainboard/roda/rk886ex/Kconfig =================================================================== --- src/mainboard/roda/rk886ex/Kconfig (revision 5310) +++ src/mainboard/roda/rk886ex/Kconfig (working copy) @@ -35,16 +35,6 @@ 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" Index: src/mainboard/msi/ms7135/Kconfig =================================================================== --- src/mainboard/msi/ms7135/Kconfig (revision 5310) +++ src/mainboard/msi/ms7135/Kconfig (working copy) @@ -34,16 +34,6 @@ 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" Index: src/mainboard/msi/ms9282/Kconfig =================================================================== --- src/mainboard/msi/ms9282/Kconfig (revision 5310) +++ src/mainboard/msi/ms9282/Kconfig (working copy) @@ -45,21 +45,6 @@ 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" Index: src/mainboard/msi/ms9185/Kconfig =================================================================== --- src/mainboard/msi/ms9185/Kconfig (revision 5310) +++ src/mainboard/msi/ms9185/Kconfig (working copy) @@ -47,16 +47,6 @@ 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" Index: src/mainboard/msi/ms9652_fam10/Kconfig =================================================================== --- src/mainboard/msi/ms9652_fam10/Kconfig (revision 5310) +++ src/mainboard/msi/ms9652_fam10/Kconfig (working copy) @@ -92,21 +92,6 @@ 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" Index: src/mainboard/msi/ms7260/Kconfig =================================================================== --- src/mainboard/msi/ms7260/Kconfig (revision 5310) +++ src/mainboard/msi/ms7260/Kconfig (working copy) @@ -51,21 +51,6 @@ 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" Index: src/mainboard/arima/hdama/Kconfig =================================================================== --- src/mainboard/arima/hdama/Kconfig (revision 5310) +++ src/mainboard/arima/hdama/Kconfig (working copy) @@ -35,16 +35,6 @@ 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" Index: src/mainboard/sunw/ultra40/Kconfig =================================================================== --- src/mainboard/sunw/ultra40/Kconfig (revision 5310) +++ src/mainboard/sunw/ultra40/Kconfig (working copy) @@ -49,16 +49,6 @@ 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" Index: src/mainboard/newisys/khepri/Kconfig =================================================================== --- src/mainboard/newisys/khepri/Kconfig (revision 5310) +++ src/mainboard/newisys/khepri/Kconfig (working copy) @@ -45,16 +45,6 @@ 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" Index: src/mainboard/technexion/tim8690/Kconfig =================================================================== --- src/mainboard/technexion/tim8690/Kconfig (revision 5310) +++ src/mainboard/technexion/tim8690/Kconfig (working copy) @@ -44,16 +44,6 @@ 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" Index: src/mainboard/technexion/tim5690/Kconfig =================================================================== --- src/mainboard/technexion/tim5690/Kconfig (revision 5310) +++ src/mainboard/technexion/tim5690/Kconfig (working copy) @@ -45,16 +45,6 @@ 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" Index: src/mainboard/ibm/e326/Kconfig =================================================================== --- src/mainboard/ibm/e326/Kconfig (revision 5310) +++ src/mainboard/ibm/e326/Kconfig (working copy) @@ -41,16 +41,6 @@ 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" Index: src/mainboard/ibm/e325/Kconfig =================================================================== --- src/mainboard/ibm/e325/Kconfig (revision 5310) +++ src/mainboard/ibm/e325/Kconfig (working copy) @@ -41,16 +41,6 @@ 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" Index: src/mainboard/nvidia/l1_2pvv/Kconfig =================================================================== --- src/mainboard/nvidia/l1_2pvv/Kconfig (revision 5310) +++ src/mainboard/nvidia/l1_2pvv/Kconfig (working copy) @@ -51,21 +51,6 @@ 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" Index: src/mainboard/intel/xe7501devkit/Kconfig =================================================================== --- src/mainboard/intel/xe7501devkit/Kconfig (revision 5310) +++ src/mainboard/intel/xe7501devkit/Kconfig (working copy) @@ -21,21 +21,6 @@ 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" Index: src/mainboard/intel/d945gclf/Kconfig =================================================================== --- src/mainboard/intel/d945gclf/Kconfig (revision 5310) +++ src/mainboard/intel/d945gclf/Kconfig (working copy) @@ -61,16 +61,6 @@ 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" Index: src/mainboard/intel/truxton/Kconfig =================================================================== --- src/mainboard/intel/truxton/Kconfig (revision 5310) +++ src/mainboard/intel/truxton/Kconfig (working copy) @@ -18,16 +18,6 @@ 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" Index: src/mainboard/intel/mtarvon/Kconfig =================================================================== --- src/mainboard/intel/mtarvon/Kconfig (revision 5310) +++ src/mainboard/intel/mtarvon/Kconfig (working copy) @@ -17,16 +17,6 @@ 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)" Index: src/mainboard/intel/eagleheights/Kconfig =================================================================== --- src/mainboard/intel/eagleheights/Kconfig (revision 5310) +++ src/mainboard/intel/eagleheights/Kconfig (working copy) @@ -38,16 +38,6 @@ 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" Index: src/mainboard/intel/jarrell/Kconfig =================================================================== --- src/mainboard/intel/jarrell/Kconfig (revision 5310) +++ src/mainboard/intel/jarrell/Kconfig (working copy) @@ -21,16 +21,6 @@ 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" Index: src/mainboard/asus/a8v-e_se/Kconfig =================================================================== --- src/mainboard/asus/a8v-e_se/Kconfig (revision 5310) +++ src/mainboard/asus/a8v-e_se/Kconfig (working copy) @@ -49,16 +49,6 @@ 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" Index: src/mainboard/asus/a8n_e/Kconfig =================================================================== --- src/mainboard/asus/a8n_e/Kconfig (revision 5310) +++ src/mainboard/asus/a8n_e/Kconfig (working copy) @@ -49,16 +49,6 @@ 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" Index: src/mainboard/asus/m2v-mx_se/Kconfig =================================================================== --- src/mainboard/asus/m2v-mx_se/Kconfig (revision 5310) +++ src/mainboard/asus/m2v-mx_se/Kconfig (working copy) @@ -82,16 +82,6 @@ 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 Index: src/lib/Makefile.inc =================================================================== --- src/lib/Makefile.inc (revision 5310) +++ src/lib/Makefile.inc (working copy) @@ -30,4 +30,4 @@ smmobj-y += memcpy.o -$(obj)/lib/version.o :: $(obj)/build.h +$(obj)/lib/version.o : $(obj)/build.h Index: src/pc80/mc146818rtc_early.c =================================================================== --- src/pc80/mc146818rtc_early.c (revision 5310) +++ src/pc80/mc146818rtc_early.c (working copy) @@ -44,14 +44,14 @@ 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; } Index: src/pc80/mc146818rtc.c =================================================================== --- src/pc80/mc146818rtc.c (revision 5310) +++ src/pc80/mc146818rtc.c (working copy) @@ -185,8 +185,8 @@ #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 @@ 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); } Index: src/arch/i386/boot/coreboot_table.c =================================================================== --- src/arch/i386/boot/coreboot_table.c (revision 5310) +++ src/arch/i386/boot/coreboot_table.c (working copy) @@ -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 #include #include +#if (CONFIG_HAVE_OPTION_TABLE == 1) +#include +#endif static struct lb_header *lb_table_init(unsigned long addr) { @@ -196,9 +199,9 @@ 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; Index: src/arch/i386/Makefile.inc =================================================================== --- src/arch/i386/Makefile.inc (revision 5310) +++ src/arch/i386/Makefile.inc (working copy) @@ -59,9 +59,9 @@ @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) Index: util/options/build_opt_tbl.c =================================================================== --- util/options/build_opt_tbl.c (revision 5310) +++ util/options/build_opt_tbl.c (working copy) @@ -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 #include #include @@ -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 -char* mkstemp(char* name) { +char *mkstemp(char* name) +{ static char val='0'; char *c=name; while (*c!='X') c++; @@ -35,13 +55,15 @@ #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 @@ 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 @@ } } 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 @@ } /* 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 @@ exit(1); } - static void skip_spaces(char *line, char **ptr) { if (!isspace(**ptr)) { @@ -136,6 +157,7 @@ } return; } + static unsigned long get_number(char *line, char **ptr, int base) { unsigned long value; @@ -210,19 +232,22 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ /* 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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; }