summaryrefslogtreecommitdiff
path: root/util/nvramtool/input_file.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2008-09-27 10:08:28 +0000
committerStefan Reinauer <stepan@openbios.org>2008-09-27 10:08:28 +0000
commita67aab70834fe28c34d4a1c9203f6f1b8462cc38 (patch)
treea74af2d26666ae460d3edccf1a1aa3bef3c28552 /util/nvramtool/input_file.c
parent830b17d3e38806b7977bda7df59775a301ca4584 (diff)
Add string support to nvramtool.
To add a string to your cmos.layout, you need to specify type 's': #start len type unused name 416 512 s 0 boot_devices With this patch you can do $ nvramtool -w boot_devices="(hd0,0);(hd2,1);(hd3)" And FILO will attempt to load a menu.lst from any of these devices in that order. The patch is not exactly pretty, but a cleaner solution might have resulted in a complete rewrite of the tool, which I did not want. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Joseph Smith <joe@settoplinux.org> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3613 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/nvramtool/input_file.c')
-rw-r--r--util/nvramtool/input_file.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/util/nvramtool/input_file.c b/util/nvramtool/input_file.c
index eafea4ca02..4c5b5bb280 100644
--- a/util/nvramtool/input_file.c
+++ b/util/nvramtool/input_file.c
@@ -1,6 +1,5 @@
/*****************************************************************************\
* input_file.c
- * $Id$
*****************************************************************************
* Copyright (C) 2002-2005 The Regents of the University of California.
* Produced at the Lawrence Livermore National Laboratory.
@@ -137,6 +136,7 @@ cmos_write_t * process_input_file (FILE *f)
item->bit = e->bit;
item->length = e->length;
+ item->config = e->config;
item->value = try_prepare_cmos_write(e, value);
/* Append write operation to pending write list. */
@@ -162,9 +162,13 @@ void do_cmos_writes (cmos_write_t *list)
set_iopl(3);
while (list != NULL)
- { item = list;
+ { cmos_entry_t e;
+ item = list;
+ e.bit = item->bit;
+ e.length = item->length;
+ e.config = item->config;
list = item->next;
- cmos_write(item->bit, item->length, item->value);
+ cmos_write(&e, item->value);
free(item);
}