Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
exception.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 NVIDIA Corporation <jholdsworth@nvidia.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
11
12#ifndef ZEPHYR_INCLUDE_ARCH_OPENRISC_EXCEPTION_H_
13#define ZEPHYR_INCLUDE_ARCH_OPENRISC_EXCEPTION_H_
14
15#ifndef _ASMLANGUAGE
16#include <zephyr/types.h>
17#include <zephyr/toolchain.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23struct arch_esf {
24 uint32_t r3; /* Function argument */
25 uint32_t r4; /* Function argument */
26 uint32_t r5; /* Function argument */
27 uint32_t r6; /* Function argument */
28 uint32_t r7; /* Function argument */
29 uint32_t r8; /* Function argument */
30
31 uint32_t r11; /* Return value (low) */
32 uint32_t r12; /* Return value (high) */
33
34 uint32_t r13; /* Caller-saved general purpose */
35 uint32_t r15; /* Caller-saved general purpose */
36 uint32_t r17; /* Caller-saved general purpose */
37 uint32_t r19; /* Caller-saved general purpose */
38 uint32_t r21; /* Caller-saved general purpose */
39 uint32_t r23; /* Caller-saved general purpose */
40 uint32_t r25; /* Caller-saved general purpose */
41 uint32_t r27; /* Caller-saved general purpose */
42 uint32_t r29; /* Caller-saved general purpose */
43 uint32_t r31; /* Caller-saved general purpose */
44
47
50};
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif /* _ASMLANGUAGE */
57
58#endif /* ZEPHYR_INCLUDE_ARCH_OPENRISC_EXCEPTION_H_ */
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Exception Stack Frame.
Definition exception.h:60
uint32_t mac_hi
Definition exception.h:46
uint32_t r4
Definition exception.h:25
uint32_t r25
Definition exception.h:40
uint32_t r13
Definition exception.h:34
uint32_t r11
Definition exception.h:31
uint32_t r8
Definition exception.h:29
uint32_t r6
Definition exception.h:27
uint32_t r29
Definition exception.h:42
uint32_t r3
Definition exception.h:24
uint32_t r15
Definition exception.h:35
uint32_t r7
Definition exception.h:28
uint32_t esr
Definition exception.h:49
uint32_t mac_lo
Definition exception.h:45
uint32_t r27
Definition exception.h:41
uint32_t r23
Definition exception.h:39
uint32_t r17
Definition exception.h:36
uint32_t r31
Definition exception.h:43
uint32_t r12
Definition exception.h:32
uint32_t r5
Definition exception.h:26
uint32_t r19
Definition exception.h:37
uint32_t r21
Definition exception.h:38
uint32_t epcr
Definition exception.h:48
Macros to abstract toolchain specific capabilities.