1/*
2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3 * Copyright 2015, 2016 Hesham Almatary <heshamelmatary@gmail.com>
4 *
5 * SPDX-License-Identifier: BSD-2-Clause
6 */
7
8#pragma once
9
10#include <autoconf.h>
11#include <sel4/simple_types.h>
12#include <sel4/sel4_arch/types.h>
13
14typedef seL4_Word seL4_CPtr;
15
16typedef seL4_CPtr seL4_RISCV_Page;
17typedef seL4_CPtr seL4_RISCV_PageTable;
18typedef seL4_CPtr seL4_RISCV_ASIDControl;
19typedef seL4_CPtr seL4_RISCV_ASIDPool;
20
21typedef seL4_Word seL4_NodeId;
22typedef seL4_Word seL4_PAddr;
23typedef seL4_Word seL4_Domain;
24
25#define seL4_EndpointBits     4
26/* User context as used by seL4_TCB_ReadRegisters / seL4_TCB_WriteRegisters */
27
28typedef struct seL4_UserContext_ {
29    seL4_Word pc;
30    seL4_Word ra;
31    seL4_Word sp;
32    seL4_Word gp;
33
34    seL4_Word s0;
35    seL4_Word s1;
36    seL4_Word s2;
37    seL4_Word s3;
38    seL4_Word s4;
39    seL4_Word s5;
40    seL4_Word s6;
41    seL4_Word s7;
42    seL4_Word s8;
43    seL4_Word s9;
44    seL4_Word s10;
45    seL4_Word s11;
46
47    seL4_Word a0;
48    seL4_Word a1;
49    seL4_Word a2;
50    seL4_Word a3;
51    seL4_Word a4;
52    seL4_Word a5;
53    seL4_Word a6;
54    seL4_Word a7;
55
56    seL4_Word t0;
57    seL4_Word t1;
58    seL4_Word t2;
59    seL4_Word t3;
60    seL4_Word t4;
61    seL4_Word t5;
62    seL4_Word t6;
63
64    seL4_Word tp;
65} seL4_UserContext;
66
67typedef enum {
68    seL4_RISCV_ExecuteNever = 0x1,
69    seL4_RISCV_Default_VMAttributes = 0,
70    SEL4_FORCE_LONG_ENUM(seL4_RISCV_VMAttributes)
71} seL4_RISCV_VMAttributes;
72