Zephyr Project API
3.1.0
A Scalable Open Source RTOS
exp.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2021 Antony Pavlov <antonynpavlov@gmail.com>
3
*
4
* based on include/arch/riscv/exp.h
5
*
6
* SPDX-License-Identifier: Apache-2.0
7
*/
8
9
#ifndef ZEPHYR_INCLUDE_ARCH_MIPS_EXP_H_
10
#define ZEPHYR_INCLUDE_ARCH_MIPS_EXP_H_
11
12
#ifndef _ASMLANGUAGE
13
#include <
zephyr/types.h
>
14
#include <
zephyr/toolchain.h
>
15
16
#ifdef __cplusplus
17
extern
"C"
{
18
#endif
19
20
struct
__esf {
21
ulong_t
ra;
/* return address */
22
ulong_t
gp;
/* global pointer */
23
24
ulong_t
t0;
/* Caller-saved temporary register */
25
ulong_t
t1;
/* Caller-saved temporary register */
26
ulong_t
t2
;
/* Caller-saved temporary register */
27
ulong_t
t3;
/* Caller-saved temporary register */
28
ulong_t
t4;
/* Caller-saved temporary register */
29
ulong_t
t5;
/* Caller-saved temporary register */
30
ulong_t
t6;
/* Caller-saved temporary register */
31
ulong_t
t7;
/* Caller-saved temporary register */
32
ulong_t
t8;
/* Caller-saved temporary register */
33
ulong_t
t9;
/* Caller-saved temporary register */
34
35
ulong_t
a0;
/* function argument */
36
ulong_t
a1;
/* function argument */
37
ulong_t
a2;
/* function argument */
38
ulong_t
a3;
/* function argument */
39
40
ulong_t
v0;
/* return value */
41
ulong_t
v1;
/* return value */
42
43
ulong_t
at;
/* assembly temporary */
44
45
ulong_t
epc;
46
ulong_t
badvaddr;
47
ulong_t
hi
;
48
ulong_t
lo;
49
ulong_t
status;
50
ulong_t
cause;
51
};
52
53
typedef
struct
__esf z_arch_esf_t;
54
55
#ifdef __cplusplus
56
}
57
#endif
58
59
#endif
/* _ASMLANGUAGE */
60
61
#endif
/* ZEPHYR_INCLUDE_ARCH_MIPS_EXP_H_ */
hi
irp hi
Definition:
asm-macro-32-bit-gnu.h:10
types.h
ulong_t
unsigned long ulong_t
Definition:
types.h:18
t2
struct k_thread t2
Definition:
main.c:27
toolchain.h
Macros to abstract toolchain specific capabilities.
include
zephyr
arch
mips
exp.h
Generated on Fri Oct 14 2022 07:25:57 for Zephyr Project API by
1.9.2