libpayload: Refactor highlevel CMOS access

This will allow using libpayload functions to access CMOS data in
template files in RAM or CBFS.

Change-Id: I323ed625e657cbdc1fae8c279a82ee578e83ad00
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/583
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Patrick Georgi
2012-01-16 10:14:24 +01:00
committed by Patrick Georgi
parent 56f2a6d6e5
commit 317ca0d751
2 changed files with 56 additions and 23 deletions

View File

@ -194,9 +194,20 @@ void video_console_set_cursor(unsigned int cursorx, unsigned int cursory);
/** @} */
/* drivers/option.c */
struct nvram_accessor {
u8 (*read)(u8 reg);
void (*write)(u8 val, u8 reg);
};
extern struct nvram_accessor *use_nvram;
struct cb_cmos_option_table *get_system_option_table(void);
void fix_options_checksum_with(const struct nvram_accessor *nvram);
void fix_options_checksum(void);
int get_option_with(const struct nvram_accessor *nvram, struct cb_cmos_option_table *option_table, void *dest, char *name);
int get_option_from(struct cb_cmos_option_table *option_table, void *dest, char *name);
int get_option(void *dest, char *name);
int set_option_with(const struct nvram_accessor *nvram, struct cb_cmos_option_table *option_table, void *value, char *name);
int set_option(void *value, char *name);
/**