From 71c006fe9b1bcc74e1000c7869ec41cf3dc80894 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Fri, 26 Sep 2008 18:39:06 +0000 Subject: [PATCH] fix option handling in libpayload Signed-off-by: Stefan Reinauer Acked-by: Jordan Crouse git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3606 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- payloads/libpayload/drivers/options.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/payloads/libpayload/drivers/options.c b/payloads/libpayload/drivers/options.c index 4534018ab8..8eed78ef17 100644 --- a/payloads/libpayload/drivers/options.c +++ b/payloads/libpayload/drivers/options.c @@ -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 @@ static int get_cmos_value(u32 bitnum, u32 len, void *valptr) 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);