L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
__vcpu-arch.h
Go to the documentation of this file.
1/*
2 * (c) 2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
3 * Alexander Warg <warg@os.inf.tu-dresden.de>
4 * economic rights: Technische Universität Dresden (Germany)
5 *
6 * This file is part of TUD:OS and distributed under the terms of the
7 * GNU General Public License 2.
8 * Please see the COPYING-GPL-2 file for details.
9 *
10 * As a special exception, you may use this file as part of a free software
11 * library without restriction. Specifically, if other files instantiate
12 * templates or use macros or inline functions from this file, or you compile
13 * this file and link it with other files to produce an executable, this
14 * file does not by itself cause the resulting executable to be covered by
15 * the GNU General Public License. This exception does not however
16 * invalidate any other reasons why the executable file might be covered by
17 * the GNU General Public License.
18 */
23#pragma once
24
25#include <l4/sys/types.h>
26#include <l4/sys/__vcpu-arm.h>
27
28enum
29{
37};
38
58
63{
64 l4_umword_t host_tpidruro;
66
71typedef struct l4_vcpu_ipc_regs_t
72{
73 l4_msgtag_t tag;
74 l4_umword_t _d1[3];
75 l4_umword_t label;
76 l4_umword_t _d2[8];
78
88{
89 L4_VCPU_E_HCR = 0x8008,
90 L4_VCPU_E_TTBR0 = 0x8010,
91 L4_VCPU_E_TTBR1 = 0x8018,
92 L4_VCPU_E_TTBCR = 0x0020,
93 L4_VCPU_E_SCTLR = 0x0024,
94 L4_VCPU_E_DACR = 0x0028,
95 L4_VCPU_E_FCSEIDR = 0x002c,
96
97 L4_VCPU_E_CNTVCTL = 0x0030,
98 L4_VCPU_E_CNTVOFF = 0x8038,
99
100 L4_VCPU_E_VMPIDR = 0x0040,
101 L4_VCPU_E_VPIDR = 0x0044,
102
103 L4_VCPU_E_GIC_HCR = 0x0050,
104 L4_VCPU_E_GIC_VTR = 0x0054,
105 L4_VCPU_E_GIC_VMCR = 0x0058,
106 L4_VCPU_E_GIC_MISR = 0x005c,
107 L4_VCPU_E_GIC_EISR = 0x0060,
108 L4_VCPU_E_GIC_ELSR = 0x0064,
109 L4_VCPU_E_GIC_V2_LR0 = 0x0068,
110 L4_VCPU_E_GIC_V3_LR0 = 0x8068,
111};
@ L4_VCPU_STATE_VERSION
Architecture-specific version ID.
Definition __vcpu-arch.h:35
struct l4_vcpu_arch_state_t l4_vcpu_arch_state_t
Architecture-specific vCPU state.
L4_vcpu_e_field_ids
IDs for extended vCPU state fields.
Definition __vcpu-arch.h:88
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:51
struct l4_vcpu_ipc_regs_t l4_vcpu_ipc_regs_t
vCPU message registers.
struct l4_vcpu_regs_t l4_vcpu_regs_t
vCPU registers.
Common L4 ABI Data Types.
Message tag data structure.
Definition types.h:163
Architecture-specific vCPU state.
Definition __vcpu-arch.h:63
vCPU message registers.
Definition __vcpu-arch.h:72
vCPU registers.
Definition __vcpu-arch.h:44
l4_umword_t sp
stack pointer
Definition __vcpu-arch.h:50
l4_umword_t err
error code
Definition __vcpu-arch.h:46
l4_umword_t pfa
page fault address
Definition __vcpu-arch.h:45
l4_umword_t tpidruro
Thread-ID register.
Definition __vcpu-arch.h:55
l4_umword_t flags
eflags
Definition __vcpu-arch.h:54
l4_umword_t tpidrurw
Thread-ID register.
Definition __vcpu-arch.h:56
l4_umword_t ip
instruction pointer
Definition __vcpu-arch.h:53