L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
vcpu.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 * License: see LICENSE.spdx (in this directory or the directories above)
7 */
12#pragma once
13
14#include <l4/sys/types.h>
15#include <l4/sys/__vcpu-arch.h>
16
96
162
173
185L4_INLINE int
187
188/* IMPLEMENTATION: ------------------------------------------------*/
189
190L4_INLINE int
@ L4_VCPU_STATE_VERSION
Architecture-specific version ID.
Definition __vcpu-arch.h:25
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
unsigned short int l4_uint16_t
Unsigned 16bit value.
Definition l4int.h:27
unsigned long l4_cap_idx_t
Capability selector type.
Definition types.h:335
L4_vcpu_sticky_flags
Sticky flags of a vCPU.
Definition vcpu.h:168
L4_vcpu_state_flags
State flags of a vCPU.
Definition vcpu.h:102
@ L4_VCPU_SF_IRQ_PENDING
An event is pending: Either an IRQ or another thread attempts to send an IPC to this vCPU thread.
Definition vcpu.h:171
@ L4_VCPU_F_USER_MODE
User task will be used.
Definition vcpu.h:152
@ L4_VCPU_F_EXCEPTIONS
Exceptions enabled.
Definition vcpu.h:142
@ L4_VCPU_F_IRQ
Receiving of IRQs and IPC enabled.
Definition vcpu.h:114
@ L4_VCPU_F_FPU_ENABLED
FPU enabled.
Definition vcpu.h:160
@ L4_VCPU_F_PAGE_FAULTS
Page faults enabled.
Definition vcpu.h:129
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
Definition compiler.h:159
#define L4_INLINE
L4 Inline function attribute.
Definition compiler.h:51
Common L4 ABI Data Types.
Architecture-specific vCPU state.
Definition __vcpu-arch.h:75
vCPU message registers.
Definition __vcpu-arch.h:84
vCPU registers.
Definition __vcpu-arch.h:56
State of a vCPU.
Definition vcpu.h:76
l4_umword_t entry_sp
Stack pointer for entry (when coming from user task)
Definition vcpu.h:91
l4_vcpu_arch_state_t arch_state
Architecture-specific state.
Definition vcpu.h:94
l4_uint16_t sticky_flags
Pending flags. See L4_vcpu_sticky_flags.
Definition vcpu.h:86
l4_uint16_t state
Current vCPU state. See L4_vcpu_state_flags.
Definition vcpu.h:84
l4_vcpu_regs_t r
Register state.
Definition vcpu.h:81
l4_umword_t version
vCPU ABI version.
Definition vcpu.h:77
l4_umword_t entry_ip
IP for entry.
Definition vcpu.h:92
l4_cap_idx_t user_task
User task to use.
Definition vcpu.h:89
l4_umword_t user_data[7]
User-specific data.
Definition vcpu.h:80
l4_vcpu_ipc_regs_t i
IPC state.
Definition vcpu.h:82
l4_uint16_t saved_state
Saved vCPU state. See L4_vcpu_state_flags.
Definition vcpu.h:85
int l4_vcpu_check_version(l4_vcpu_state_t const *vcpu) L4_NOTHROW
Check if a vCPU state has the right version.
Definition vcpu.h:191