[coreboot] Patch set updated for coreboot: 3ff1453 libpayload: Add access to CMOS images in memory space

Patrick Georgi (patrick@georgi-clan.de) gerrit at coreboot.org
Thu Feb 2 15:55:05 CET 2012


Patrick Georgi (patrick at georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/584

-gerrit

commit 3ff14530ac906ebc89f7300feb94694c49ccf34a
Author: Patrick Georgi <patrick.georgi at secunet.com>
Date:   Thu Feb 2 15:51:29 2012 +0100

    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 at secunet.com>
---
 payloads/libpayload/drivers/options.c    |   17 +++++++++++++++++
 payloads/libpayload/include/libpayload.h |    3 ++-
 2 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/payloads/libpayload/drivers/options.c b/payloads/libpayload/drivers/options.c
index 61e6cc5..36d8a9b 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);
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 91156e5..308d95c 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -199,7 +199,8 @@ struct nvram_accessor {
 	void (*write)(u8 val, u8 reg);
 };
 
-extern struct nvram_accessor *use_nvram;
+extern u8 *mem_accessor_base;
+extern struct nvram_accessor *use_nvram, *use_mem;
 
 struct cb_cmos_option_table *get_system_option_table(void);
 void fix_options_checksum_with(const struct nvram_accessor *nvram);




More information about the coreboot mailing list