summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/options.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2008-09-26 18:39:06 +0000
committerStefan Reinauer <stepan@openbios.org>2008-09-26 18:39:06 +0000
commit71c006fe9b1bcc74e1000c7869ec41cf3dc80894 (patch)
treea95a859048aa434b468555600dc426dc7a72d871 /payloads/libpayload/drivers/options.c
parentd84ef1e6dc6e9b559ada98a7c2d57ead3ae19c26 (diff)
fix option handling in libpayload
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3606 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'payloads/libpayload/drivers/options.c')
-rw-r--r--payloads/libpayload/drivers/options.c8
1 files 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);