1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 08:42:12 +02:00

sandbox: Add a setjmp() implementation

Add an implementation of setjmp() and longjmp() which rely on the
underlying host C library. Since we cannot know how large the jump buffer
needs to be, pick something that should be suitable and check it at
runtime. At present we need access to the underlying struct as well.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Simon Glass
2018-05-16 09:42:22 -06:00
committed by Alexander Graf
parent 0864c565a2
commit 30eef21fa0
4 changed files with 87 additions and 0 deletions

View File

@@ -330,4 +330,25 @@ int os_spl_to_uboot(const char *fname);
*/
void os_localtime(struct rtc_time *rt);
/**
* os_setjmp() - Call setjmp()
*
* Call the host system's setjmp() function.
*
* @jmp: Buffer to store current execution state
* @size: Size of buffer
* @return normal setjmp() value if OK, -ENOSPC if @size is too small
*/
int os_setjmp(ulong *jmp, int size);
/**
* os_longjmp() - Call longjmp()
*
* Call the host system's longjmp() function.
*
* @jmp: Buffer where previous execution state was stored
* @ret: Value to pass to longjmp()
*/
void os_longjmp(ulong *jmp, int ret);
#endif