See patch
--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [EMAIL PROTECTED] • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866
fix option handling in libpayload
Signed-off-by: Stefan Reinauer <[EMAIL PROTECTED]>
Index: drivers/options.c
===================================================================
--- drivers/options.c (revision 3600)
+++ drivers/options.c (working copy)
@@ -33,9 +33,9 @@
static int options_checksum_valid(void)
{
int i;
- int range_start = lib_sysinfo.cmos_range_start;
- int range_end = lib_sysinfo.cmos_range_end;
- int checksum_location = lib_sysinfo.cmos_checksum_location;
+ int range_start = lib_sysinfo.cmos_range_start / 8;
+ int range_end = lib_sysinfo.cmos_range_end / 8;
+ int checksum_location = lib_sysinfo.cmos_checksum_location / 8;
u16 checksum = 0, checksum_old;
for(i = range_start; i <= range_end; i++) {
@@ -80,7 +80,7 @@
int get_option(void *dest, char *name)
{
- struct cb_cmos_option_table *option_table = lib_sysinfo.option_table;
+ struct cb_cmos_option_table *option_table =
phys_to_virt(lib_sysinfo.option_table);
struct cb_cmos_entries *cmos_entry;
int len = strnlen(name, CMOS_MAX_NAME_LENGTH);
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot