Make setjmp.h prototypes comply with the C standard
[project/bcm63xx/atf.git] / services / std_svc / sdei / sdei_intr_mgmt.c
index b8799cd49fafe08f647f5e769098169c25852fd3..fa1d3d2839727d92ede63a2ff3654b506cf7be18 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -31,7 +31,7 @@
 typedef struct sdei_dispatch_context {
        sdei_ev_map_t *map;
        uint64_t x[SDEI_SAVED_GPREGS];
-       struct jmpbuf *dispatch_jmp;
+       jmp_buf *dispatch_jmp;
 
        /* Exception state registers */
        uint64_t elr_el3;
@@ -236,7 +236,7 @@ static cpu_context_t *restore_and_resume_ns_context(void)
  * SDEI client.
  */
 static void setup_ns_dispatch(sdei_ev_map_t *map, sdei_entry_t *se,
-               cpu_context_t *ctx, struct jmpbuf *dispatch_jmp)
+               cpu_context_t *ctx, jmp_buf *dispatch_jmp)
 {
        sdei_dispatch_context_t *disp_ctx;
 
@@ -347,7 +347,7 @@ int sdei_intr_handler(uint32_t intr_raw, uint32_t flags, void *handle,
        unsigned int sec_state;
        sdei_cpu_state_t *state;
        uint32_t intr;
-       struct jmpbuf dispatch_jmp;
+       jmp_buf dispatch_jmp;
        const uint64_t mpidr = read_mpidr_el1();
 
        /*
@@ -529,7 +529,7 @@ int sdei_dispatch_event(int ev_num)
        cpu_context_t *ns_ctx;
        sdei_dispatch_context_t *disp_ctx;
        sdei_cpu_state_t *state;
-       struct jmpbuf dispatch_jmp;
+       jmp_buf dispatch_jmp;
 
        /* Can't dispatch if events are masked on this PE */
        state = sdei_get_this_pe_state();
@@ -595,9 +595,9 @@ int sdei_dispatch_event(int ev_num)
        return 0;
 }
 
-static void end_sdei_synchronous_dispatch(struct jmpbuf *buffer)
+static void end_sdei_synchronous_dispatch(jmp_buf *buffer)
 {
-       longjmp(buffer);
+       longjmp(*buffer, 1);
 }
 
 int sdei_event_complete(bool resume, uint64_t pc)