summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/options.c
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@secunet.com>2012-02-02 15:51:29 +0100
committerPatrick Georgi <patrick@georgi-clan.de>2012-02-02 17:48:05 +0100
commit5febb00640f838dc31035c1e6a999067c28367d9 (patch)
tree9e6dc42b2b75c356621421b9e0cee7b0267aba42 /payloads/libpayload/drivers/options.c
parentb06bd8d9542513d87c62e494d3ca8012264b2878 (diff)
libpayload: Add access to CMOS images in memory space
Provide access to CMOS images in RAM or CBFS, such as cmos.defaults Change-Id: Ifa70dea6206d94c0c271caf9ae1152fc76b5d51a Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com> Reviewed-on: http://review.coreboot.org/584 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'payloads/libpayload/drivers/options.c')
-rw-r--r--payloads/libpayload/drivers/options.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/options.c b/payloads/libpayload/drivers/options.c
index 61e6cc565f..36d8a9b5b0 100644
--- a/payloads/libpayload/drivers/options.c
+++ b/payloads/libpayload/drivers/options.c
@@ -30,11 +30,28 @@
#include <libpayload.h>
#include <coreboot_tables.h>
+u8 *mem_accessor_base;
+
+static u8 mem_read(u8 reg)
+{
+ return mem_accessor_base[reg];
+}
+
+static void mem_write(u8 val, u8 reg)
+{
+ mem_accessor_base[reg] = val;
+}
+
struct nvram_accessor *use_nvram = &(struct nvram_accessor) {
nvram_read,
nvram_write
};
+struct nvram_accessor *use_mem = &(struct nvram_accessor) {
+ mem_read,
+ mem_write
+};
+
struct cb_cmos_option_table *get_system_option_table(void)
{
return phys_to_virt(lib_sysinfo.option_table);