/*
- * 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
*/
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;
* 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;
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();
/*
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();
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)