Fukurō
A highly portable microkernel
Loading...
Searching...
No Matches
asm.h
Go to the documentation of this file.
1/*
2 * Copyright © 2023, d0p1
3 *
4 * This file is part of Fukurō.
5 *
6 * This software is governed by the CeCILL license under French law and
7 * abiding by the rules of distribution of free software. You can use,
8 * modify and/ or redistribute the software under the terms of the CeCILL
9 * license as circulated by CEA, CNRS and INRIA at the following URL
10 * "http://cecill.info".
11 *
12 * As a counterpart to the access to the source code and rights to copy,
13 * modify and redistribute granted by the license, users are provided only
14 * with a limited warranty and the software's author, the holder of the
15 * economic rights, and the successive licensors have only limited
16 * liability.
17 *
18 * In this respect, the user's attention is drawn to the risks associated
19 * with loading, using, modifying and/or developing or reproducing the
20 * software by the user in light of its specific status of free software,
21 * that may mean that it is complicated to manipulate, and that also
22 * therefore means that it is reserved for developers and experienced
23 * professionals having in-depth computer knowledge. Users are therefore
24 * encouraged to load and test the software's suitability as regards their
25 * requirements in conditions enabling the security of their systems and/or
26 * data to be ensured and, more generally, to use and operate it in the
27 * same conditions as regards security.
28 *
29 * The fact that you are presently reading this means that you have had
30 * knowledge of the CeCILL license and that you accept its terms.
31 */
32#ifndef FUKURO_SYS_RISCV_ASM_H
33# define FUKURO_SYS_RISCV_ASM_H 1
34
35# ifndef __ASSEMBLY__
36
37# include <stdint.h>
38
39typedef struct __attribute__((packed))
40{
41 uint32_t ra;
42 uint32_t sp;
43 uint32_t gp;
44 uint32_t tp;
45 uint32_t t0;
46 uint32_t t1;
47 uint32_t t2;
48 uint32_t s0;
49 uint32_t s1;
50 uint32_t a0;
51 uint32_t a1;
52 uint32_t a2;
53 uint32_t a3;
54 uint32_t a4;
55 uint32_t a5;
56 uint32_t a6;
57 uint32_t a7;
58 uint32_t s2;
59 uint32_t s3;
60 uint32_t s4;
61 uint32_t s5;
62 uint32_t s6;
63 uint32_t s7;
64 uint32_t s8;
65 uint32_t s9;
66 uint32_t s10;
67 uint32_t s11;
68 uint32_t t3;
69 uint32_t t4;
70 uint32_t t5;
71 uint32_t t9;
73
74# endif /* __ASSEMBLY__ */
75
76#endif /* !FUKURO_SYS_RISCV_ASM_H */
struct __attribute__((packed))
Definition asm.h:39
TrapFrame
Definition asm.h:72