nvramtool: Unify nvramtool and build_opt_tbl
As cmos.layout parsing capabilities are already there in nvramtool, use those than using build_opt_tbl.c. Add binary and header file generation in nvramtool. Make appropriate changes to Makefile.inc. Change-Id: Iaf3f5d4f51451aeb33c92800a0c895045f2388cf Signed-off-by: Vikram Narayanan <vikram186@gmail.com> Reviewed-on: http://review.coreboot.org/898 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
committed by
Patrick Georgi
parent
c3fc4b9337
commit
a8111cf980
@@ -62,6 +62,8 @@ static void op_write_cmos_dump(void);
|
||||
static void op_read_cmos_dump(void);
|
||||
static void op_show_cmos_hex_dump(void);
|
||||
static void op_show_cmos_dumpfile(void);
|
||||
static void op_write_cmos_layout_bin(void);
|
||||
static void op_write_cmos_layout_header(void);
|
||||
static int list_one_param(const char name[], int show_name);
|
||||
static int list_all_params(void);
|
||||
static void list_param_enums(const char name[]);
|
||||
@@ -86,9 +88,23 @@ static const op_fn_t op_fns[] = { op_show_version,
|
||||
op_write_cmos_dump,
|
||||
op_read_cmos_dump,
|
||||
op_show_cmos_hex_dump,
|
||||
op_show_cmos_dumpfile
|
||||
op_show_cmos_dumpfile,
|
||||
op_write_cmos_layout_bin,
|
||||
op_write_cmos_layout_header
|
||||
};
|
||||
|
||||
static void op_write_cmos_layout_bin(void)
|
||||
{
|
||||
get_layout_from_file();
|
||||
write_cmos_output_bin(nvramtool_op.param);
|
||||
}
|
||||
|
||||
static void op_write_cmos_layout_header(void)
|
||||
{
|
||||
get_layout_from_file();
|
||||
write_cmos_layout_header(nvramtool_op.param);
|
||||
}
|
||||
|
||||
static const hexdump_format_t cmos_dump_format =
|
||||
{ 16, 2, "", " | ", " ", " | ", '.' };
|
||||
|
||||
|
@@ -41,7 +41,7 @@ static void register_op_modifier(nvramtool_op_modifier_t mod, char mod_param[]);
|
||||
static void resolve_op_modifiers(void);
|
||||
static void sanity_check_args(void);
|
||||
|
||||
static const char getopt_string[] = "-ab:B:c::C:dD:e:hil::np:r:tvw:xX:y:Y";
|
||||
static const char getopt_string[] = "-ab:B:c::C:dD:e:hH:iL:l::np:r:tvw:xX:y:Y";
|
||||
|
||||
/****************************************************************************
|
||||
* parse_nvramtool_args
|
||||
@@ -100,6 +100,9 @@ void parse_nvramtool_args(int argc, char *argv[])
|
||||
case 'h':
|
||||
register_op(&op_found, NVRAMTOOL_OP_SHOW_USAGE, NULL);
|
||||
break;
|
||||
case 'H':
|
||||
register_op(&op_found, NVRAMTOOL_OP_WRITE_HEADER_FILE, optarg);
|
||||
break;
|
||||
case 'i':
|
||||
register_op(&op_found,
|
||||
NVRAMTOOL_OP_CMOS_SET_PARAMS_STDIN, NULL);
|
||||
@@ -108,6 +111,10 @@ void parse_nvramtool_args(int argc, char *argv[])
|
||||
register_op(&op_found, NVRAMTOOL_OP_LBTABLE_SHOW_INFO,
|
||||
handle_optional_arg(argc, argv));
|
||||
break;
|
||||
case 'L':
|
||||
register_op(&op_found, NVRAMTOOL_OP_WRITE_BINARY_FILE,
|
||||
optarg);
|
||||
break;
|
||||
case 'n':
|
||||
register_op_modifier(NVRAMTOOL_MOD_SHOW_VALUE_ONLY,
|
||||
NULL);
|
||||
|
@@ -48,7 +48,9 @@ typedef enum { NVRAMTOOL_OP_SHOW_VERSION = 0,
|
||||
NVRAMTOOL_OP_WRITE_CMOS_DUMP,
|
||||
NVRAMTOOL_OP_READ_CMOS_DUMP,
|
||||
NVRAMTOOL_OP_SHOW_CMOS_HEX_DUMP,
|
||||
NVRAMTOOL_OP_SHOW_CMOS_DUMPFILE
|
||||
NVRAMTOOL_OP_SHOW_CMOS_DUMPFILE,
|
||||
NVRAMTOOL_OP_WRITE_BINARY_FILE,
|
||||
NVRAMTOOL_OP_WRITE_HEADER_FILE
|
||||
} nvramtool_op_t;
|
||||
|
||||
typedef struct {
|
||||
|
Reference in New Issue
Block a user