170b0f278SAntonio Nino Diaz /* 2*4c700c15SGovindraj Raja * Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved. 370b0f278SAntonio Nino Diaz * 470b0f278SAntonio Nino Diaz * SPDX-License-Identifier: BSD-3-Clause 570b0f278SAntonio Nino Diaz */ 670b0f278SAntonio Nino Diaz 770b0f278SAntonio Nino Diaz #ifndef SETJMP__H 870b0f278SAntonio Nino Diaz #define SETJMP__H 970b0f278SAntonio Nino Diaz 1070b0f278SAntonio Nino Diaz #define JMP_CTX_X19 0x0 1170b0f278SAntonio Nino Diaz #define JMP_CTX_X21 0x10 1270b0f278SAntonio Nino Diaz #define JMP_CTX_X23 0x20 1370b0f278SAntonio Nino Diaz #define JMP_CTX_X25 0x30 1470b0f278SAntonio Nino Diaz #define JMP_CTX_X27 0x40 1570b0f278SAntonio Nino Diaz #define JMP_CTX_X29 0x50 1670b0f278SAntonio Nino Diaz #define JMP_CTX_SP 0x60 1770b0f278SAntonio Nino Diaz #define JMP_CTX_END 0x70 /* Aligned to 16 bytes */ 1870b0f278SAntonio Nino Diaz 1970b0f278SAntonio Nino Diaz #define JMP_SIZE (JMP_CTX_END >> 3) 2070b0f278SAntonio Nino Diaz 21d5dfdeb6SJulius Werner #ifndef __ASSEMBLER__ 2270b0f278SAntonio Nino Diaz 2370b0f278SAntonio Nino Diaz #include <cdefs.h> 2470b0f278SAntonio Nino Diaz 2570b0f278SAntonio Nino Diaz /* Jump buffer hosting x18 - x30 and sp_el0 registers */ 2670b0f278SAntonio Nino Diaz typedef uint64_t jmp_buf[JMP_SIZE] __aligned(16); 2770b0f278SAntonio Nino Diaz 28d5dfdeb6SJulius Werner #endif /* __ASSEMBLER__ */ 2970b0f278SAntonio Nino Diaz 3070b0f278SAntonio Nino Diaz #endif /* SETJMP__H */ 31