1/*
2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#pragma once
8
9#include <sel4/simple_types.h>
10
11typedef seL4_Uint64 seL4_Word;
12typedef seL4_Word seL4_CPtr;
13typedef seL4_Word seL4_NodeId;
14typedef seL4_Word seL4_PAddr;
15typedef seL4_Word seL4_Domain;
16
17typedef seL4_CPtr seL4_ARM_PageUpperDirectory;
18typedef seL4_CPtr seL4_ARM_PageGlobalDirectory;
19/* whether the VSpace refers to a PageUpperDirectory or PageGlobalDirectory directly
20 * depends on the physical address size */
21typedef seL4_CPtr seL4_ARM_VSpace;
22
23typedef struct seL4_UserContext_ {
24    /* frame registers */
25    seL4_Word pc, sp, spsr, x0, x1, x2, x3, x4, x5, x6, x7, x8, x16, x17, x18, x29, x30;
26    /* other integer registers */
27    seL4_Word x9, x10, x11, x12, x13, x14, x15, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28;
28    /* Thread ID registers */
29    seL4_Word tpidr_el0, tpidrro_el0;
30} seL4_UserContext;
31