Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
exception.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019 Carlo Caione <[email protected]>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
14#ifndef ZEPHYR_INCLUDE_ARCH_ARM64_EXCEPTION_H_
15#define ZEPHYR_INCLUDE_ARCH_ARM64_EXCEPTION_H_
16
17/* for assembler, only works with constants */
18
19#ifdef _ASMLANGUAGE
20#else
21#include <zephyr/types.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27struct __esf {
28 uint64_t x0;
29 uint64_t x1;
30 uint64_t x2;
31 uint64_t x3;
32 uint64_t x4;
33 uint64_t x5;
34 uint64_t x6;
35 uint64_t x7;
36 uint64_t x8;
37 uint64_t x9;
38 uint64_t x10;
39 uint64_t x11;
40 uint64_t x12;
41 uint64_t x13;
42 uint64_t x14;
43 uint64_t x15;
44 uint64_t x16;
45 uint64_t x17;
46 uint64_t x18;
47 uint64_t lr;
48 uint64_t spsr;
49 uint64_t elr;
50#ifdef CONFIG_ARM64_ENABLE_FRAME_POINTER
51 uint64_t fp;
52#endif
53#ifdef CONFIG_ARM64_SAFE_EXCEPTION_STACK
54 uint64_t sp;
55#endif
56} __aligned(16);
57
58typedef struct __esf z_arch_esf_t;
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif /* _ASMLANGUAGE */
65
66#endif /* ZEPHYR_INCLUDE_ARCH_ARM64_EXCEPTION_H_ */
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91