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>
This commit is contained in:
parent
b06bd8d954
commit
5febb00640
|
@ -30,11 +30,28 @@
|
||||||
#include <libpayload.h>
|
#include <libpayload.h>
|
||||||
#include <coreboot_tables.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) {
|
struct nvram_accessor *use_nvram = &(struct nvram_accessor) {
|
||||||
nvram_read,
|
nvram_read,
|
||||||
nvram_write
|
nvram_write
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct nvram_accessor *use_mem = &(struct nvram_accessor) {
|
||||||
|
mem_read,
|
||||||
|
mem_write
|
||||||
|
};
|
||||||
|
|
||||||
struct cb_cmos_option_table *get_system_option_table(void)
|
struct cb_cmos_option_table *get_system_option_table(void)
|
||||||
{
|
{
|
||||||
return phys_to_virt(lib_sysinfo.option_table);
|
return phys_to_virt(lib_sysinfo.option_table);
|
||||||
|
|
|
@ -199,7 +199,8 @@ struct nvram_accessor {
|
||||||
void (*write)(u8 val, u8 reg);
|
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);
|
struct cb_cmos_option_table *get_system_option_table(void);
|
||||||
void fix_options_checksum_with(const struct nvram_accessor *nvram);
|
void fix_options_checksum_with(const struct nvram_accessor *nvram);
|
||||||
|
|
Loading…
Reference in New Issue