diff options
| author | Jerome Forissier <jerome.forissier@linaro.org> | 2025-04-18 16:09:30 +0200 |
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2025-04-23 13:19:44 -0600 |
| commit | 0245d2ab7d08cd360d44f131b20aa817799a4394 (patch) | |
| tree | 5f594aee82e0c4a5502ac4dd580d24e061c93aeb /arch/Kconfig | |
| parent | 1c8e166fb5eb5c58b79a09e80660a7ebfc7c94fa (diff) | |
arm: add initjmp()
Implement initjmp() for Arm. a non-standard extension to setjmp()/
longjmp() allowing to initialize a jump buffer with a function pointer
and a stack pointer. This will be useful to later introduce threads.
With this new function it becomes possible to longjmp() to a particular
function pointer (rather than to a point previously reached during
program execution as is the case with setjmp()), and with a custom stack.
Both things are needed to spin off a new thread. Then the usual
setjmp()/longjmp() pair is enough to save and restore a context, i.e.,
switch thread.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'arch/Kconfig')
| -rw-r--r-- | arch/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index 14111ca14fb..7a3141e92b3 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -95,6 +95,7 @@ config ARC config ARM bool "ARM architecture" select HAVE_SETJMP + select HAVE_INITJMP select ARCH_SUPPORTS_LTO select CREATE_ARCH_SYMLINK select HAVE_PRIVATE_LIBGCC if !ARM64 |
