arm: use type jmp_buf instead of struct jmp_buf_data
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sun, 2 Mar 2025 14:21:21 +0000 (15:21 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Mon, 10 Mar 2025 06:41:23 +0000 (07:41 +0100)
Instead of using the implementation specific struct jmp_buf_data use the
standard compliant type jmp_buf when switching exception levels.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
arch/arm/cpu/armv7/exception_level.c
arch/arm/cpu/armv8/exception_level.c

index c63b0e1..a55c158 100644 (file)
@@ -24,7 +24,7 @@
  *
  * @non_secure_jmp:    jump buffer for restoring stack and registers
  */
-static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
+static void entry_non_secure(jmp_buf non_secure_jmp)
 {
        dcache_enable();
        debug("Reached non-secure mode\n");
@@ -42,10 +42,10 @@ static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
 void switch_to_non_secure_mode(void)
 {
        static bool is_nonsec;
-       struct jmp_buf_data non_secure_jmp;
+       jmp_buf non_secure_jmp;
 
        if (armv7_boot_nonsec() && !is_nonsec) {
-               if (setjmp(&non_secure_jmp))
+               if (setjmp(non_secure_jmp))
                        return;
                dcache_disable();       /* flush cache before switch to HYP */
                armv7_init_nonsec();
index 58e8160..7467378 100644 (file)
@@ -23,7 +23,7 @@
  *
  * @non_secure_jmp:    jump buffer for restoring stack and registers
  */
-static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
+static void entry_non_secure(jmp_buf non_secure_jmp)
 {
        dcache_enable();
        debug("Reached non-secure mode\n");
@@ -42,11 +42,11 @@ static void entry_non_secure(struct jmp_buf_data *non_secure_jmp)
  */
 void switch_to_non_secure_mode(void)
 {
-       struct jmp_buf_data non_secure_jmp;
+       jmp_buf non_secure_jmp;
 
        /* On AArch64 we need to make sure we call our payload in < EL3 */
        if (current_el() == 3) {
-               if (setjmp(&non_secure_jmp))
+               if (setjmp(non_secure_jmp))
                        return;
                dcache_disable();       /* flush cache before switch to EL2 */