mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-27 23:20:26 +09:00
sandbox: remove ram buffer file when U-Boot is loaded by SPL
Update management of "--rm_memory" sandbox's option and force this option when U-Boot is loaded by SPL in os_spl_to_uboot() and remove the ram file after reading in main() as described in option help message: "Remove memory file after reading". This patch avoids that the file "/tmp/u-boot.mem.XXXXXX" [created in os_jump_to_file() when U-Boot is loaded by SPL] is never deleted because state_uninit() is not called after U-Boot execution (CtrlC or with running pytest for example). This issue is reproduced by > build-sandbox_spl/spl/u-boot-spl and CtrlC in U-Bot console > make qcheck One temp file is created after each SPL and U-Boot execution (7 tims in qcheck after test_handoff.py, test_ofplatdata.py, test_spl.py execution). Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
941e6304f4
commit
10bb90fa30
@ -790,6 +790,11 @@ int os_find_u_boot(char *fname, int maxlen)
|
||||
|
||||
int os_spl_to_uboot(const char *fname)
|
||||
{
|
||||
struct sandbox_state *state = state_get_current();
|
||||
|
||||
printf("%s\n", __func__);
|
||||
/* U-Boot will delete ram buffer after read: "--rm_memory"*/
|
||||
state->ram_buf_rm = true;
|
||||
return os_jump_to_file(fname);
|
||||
}
|
||||
|
||||
|
@ -457,6 +457,13 @@ int main(int argc, char *argv[])
|
||||
if (os_parse_args(state, argc, argv))
|
||||
return 1;
|
||||
|
||||
/* Remove old memory file if required */
|
||||
if (state->ram_buf_rm && state->ram_buf_fname) {
|
||||
os_unlink(state->ram_buf_fname);
|
||||
state->write_ram_buf = false;
|
||||
state->ram_buf_fname = NULL;
|
||||
}
|
||||
|
||||
ret = sandbox_read_state(state, state->state_fname);
|
||||
if (ret)
|
||||
goto err;
|
||||
|
@ -415,10 +415,6 @@ int state_uninit(void)
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove old memory file if required */
|
||||
if (state->ram_buf_rm && state->ram_buf_fname)
|
||||
os_unlink(state->ram_buf_fname);
|
||||
|
||||
/* Delete this at the last moment so as not to upset gdb too much */
|
||||
if (state->jumped_fname)
|
||||
os_unlink(state->jumped_fname);
|
||||
|
Loading…
Reference in New Issue
Block a user