mirror of
https://xff.cz/git/u-boot/
synced 2025-09-30 06:51:28 +02:00
sandbox: implement reset
Up to now the sandbox would shutdown upon a cold reset request. Instead it should be reset. In our coding we use static variables like LIST_HEAD(efi_obj_list). A reset can occur at any time, e.g. via an UEFI binary calling the reset service. The only safe way to return to an initial state is to relaunch the U-Boot binary. The reset implementation uses execv() to relaunch U-Boot. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Simon Glass
parent
c0b19f25a1
commit
329dccc067
@@ -84,6 +84,16 @@ void sandbox_set_enable_pci_map(int enable);
|
||||
*/
|
||||
int sandbox_read_fdt_from_file(void);
|
||||
|
||||
/**
|
||||
* sandbox_reset() - reset sandbox
|
||||
*
|
||||
* This functions implements the cold reboot of the sandbox. It relaunches the
|
||||
* U-Boot binary with the same command line parameters as the original call.
|
||||
* The PID of the process stays the same. All file descriptors that have not
|
||||
* been opened with O_CLOEXEC stay open including stdin, stdout, stderr.
|
||||
*/
|
||||
void sandbox_reset(void);
|
||||
|
||||
/* Exit sandbox (quit U-Boot) */
|
||||
void sandbox_exit(void);
|
||||
|
||||
|
Reference in New Issue
Block a user