mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-16 14:08:45 +00:00
sandbox: Move reading the RAM buffer into a better place
This should not happen in the argument-parsing function. Move it to the main program. Add some debugging for reading/writing. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
5fe8bc3cf2
commit
d02c6f57ab
2 changed files with 12 additions and 8 deletions
|
@ -272,17 +272,9 @@ SANDBOX_CMDLINE_OPT_SHORT(program, 'p', 1, "U-Boot program name");
|
|||
static int sandbox_cmdline_cb_memory(struct sandbox_state *state,
|
||||
const char *arg)
|
||||
{
|
||||
int err;
|
||||
|
||||
/* For now assume we always want to write it */
|
||||
state->write_ram_buf = true;
|
||||
state->ram_buf_fname = arg;
|
||||
|
||||
err = os_read_ram_buf(arg);
|
||||
if (err) {
|
||||
printf("Failed to read RAM buffer '%s': %d\n", arg, err);
|
||||
return err;
|
||||
}
|
||||
state->ram_buf_read = true;
|
||||
|
||||
return 0;
|
||||
|
@ -512,6 +504,17 @@ int sandbox_main(int argc, char *argv[])
|
|||
if (os_parse_args(state, argc, argv))
|
||||
return 1;
|
||||
|
||||
if (state->ram_buf_fname) {
|
||||
ret = os_read_ram_buf(state->ram_buf_fname);
|
||||
if (ret) {
|
||||
printf("Failed to read RAM buffer '%s': %d\n",
|
||||
state->ram_buf_fname, ret);
|
||||
} else {
|
||||
state->ram_buf_read = true;
|
||||
log_debug("Read RAM buffer from '%s'\n", state->ram_buf_fname);
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove old memory file if required */
|
||||
if (state->ram_buf_rm && state->ram_buf_fname) {
|
||||
os_unlink(state->ram_buf_fname);
|
||||
|
|
|
@ -513,6 +513,7 @@ int state_uninit(void)
|
|||
printf("Failed to write RAM buffer\n");
|
||||
return err;
|
||||
}
|
||||
log_debug("Wrote RAM to file '%s'\n", state->ram_buf_fname);
|
||||
}
|
||||
|
||||
if (state->write_state) {
|
||||
|
|
Loading…
Add table
Reference in a new issue