Author: stepan Date: 2008-09-26 20:39:06 +0200 (Fri, 26 Sep 2008) New Revision: 3606
Modified: trunk/payloads/libpayload/drivers/options.c Log: fix option handling in libpayload
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Jordan Crouse jordan.crouse@amd.com
Modified: trunk/payloads/libpayload/drivers/options.c =================================================================== --- trunk/payloads/libpayload/drivers/options.c 2008-09-26 18:37:26 UTC (rev 3605) +++ trunk/payloads/libpayload/drivers/options.c 2008-09-26 18:39:06 UTC (rev 3606) @@ -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);