Loading...
Searching...
No Matches
__vcpu-arch.h
Go to the documentation of this file.
/*
* (c) 2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
* Alexander Warg <warg@os.inf.tu-dresden.de>
* economic rights: Technische Universität Dresden (Germany)
*
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#pragma once
#include <l4/sys/types.h>
enum
{
L4_VCPU_STATE_VERSION = 0x46,
L4_VCPU_STATE_SIZE = 0x200,
L4_VCPU_STATE_EXT_SIZE = L4_PAGESIZE,
};
enum L4_vcpu_state_offset
{
L4_VCPU_OFFSET_EXT_STATE = 0x400,
L4_VCPU_OFFSET_EXT_INFOS = 0x200,
};
typedef struct l4_vcpu_regs_t
{
l4_umword_t es;
l4_umword_t ds;
l4_umword_t gs;
l4_umword_t fs;
l4_umword_t di;
l4_umword_t si;
l4_umword_t bp;
l4_umword_t pfa;
l4_umword_t bx;
l4_umword_t dx;
l4_umword_t cx;
l4_umword_t ax;
l4_umword_t trapno;
l4_umword_t err;
l4_umword_t ip;
l4_umword_t dummy1;
l4_umword_t flags;
l4_umword_t sp;
l4_umword_t ss;
} l4_vcpu_regs_t;
typedef struct l4_vcpu_arch_state_t {} l4_vcpu_arch_state_t;
typedef struct l4_vcpu_ipc_regs_t
{
l4_umword_t _res[2];
l4_umword_t label;
l4_umword_t _res2[3];
l4_msgtag_t tag;
} l4_vcpu_ipc_regs_t;
L4_VCPU_STATE_VERSION
@ L4_VCPU_STATE_VERSION
Architecture-specific version ID.
Definition __vcpu-arch.h:25
l4_umword_t
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
L4_PAGESIZE
#define L4_PAGESIZE
Minimal page size (in bytes).
Definition consts.h:391
l4_msgtag_t
struct l4_msgtag_t l4_msgtag_t
Message tag data structure.
L4_vcpu_state_offset
L4_vcpu_state_offset
Offsets for vCPU state layouts.
Definition __vcpu-arch.h:36
L4_VCPU_OFFSET_EXT_INFOS
@ L4_VCPU_OFFSET_EXT_INFOS
Offset where extended infos begin.
Definition __vcpu-arch.h:38
L4_VCPU_OFFSET_EXT_STATE
@ L4_VCPU_OFFSET_EXT_STATE
Offset where extended state begins.
Definition __vcpu-arch.h:37
types.h
Common L4 ABI Data Types.
l4_vcpu_arch_state_t
Architecture-specific vCPU state.
Definition __vcpu-arch.h:75
l4_vcpu_ipc_regs_t
vCPU message registers.
Definition __vcpu-arch.h:84
l4_vcpu_regs_t
vCPU registers.
Definition __vcpu-arch.h:56
l4_vcpu_regs_t::sp
l4_umword_t sp
stack pointer
Definition __vcpu-arch.h:62
l4_vcpu_regs_t::err
l4_umword_t err
error code
Definition __vcpu-arch.h:58
l4_vcpu_regs_t::ss
l4_umword_t ss
ss register
Definition __vcpu-arch.h:86
l4_vcpu_regs_t::pfa
l4_umword_t pfa
page fault address
Definition __vcpu-arch.h:57
l4_vcpu_regs_t::bp
l4_umword_t bp
rbp register
Definition __vcpu-arch.h:72
l4_vcpu_regs_t::di
l4_umword_t di
rdi register
Definition __vcpu-arch.h:70
l4_vcpu_regs_t::cx
l4_umword_t cx
rcx register
Definition __vcpu-arch.h:76
l4_vcpu_regs_t::bx
l4_umword_t bx
rbx register
Definition __vcpu-arch.h:74
l4_vcpu_regs_t::trapno
l4_umword_t trapno
trap number
Definition __vcpu-arch.h:79
l4_vcpu_regs_t::ax
l4_umword_t ax
rax register
Definition __vcpu-arch.h:77
l4_vcpu_regs_t::flags
l4_umword_t flags
eflags
Definition __vcpu-arch.h:66
l4_vcpu_regs_t::si
l4_umword_t si
rsi register
Definition __vcpu-arch.h:71
l4_vcpu_regs_t::ip
l4_umword_t ip
instruction pointer
Definition __vcpu-arch.h:65
l4_vcpu_regs_t::dummy1
l4_umword_t dummy1
dummy
Definition __vcpu-arch.h:64
l4_vcpu_regs_t::dx
l4_umword_t dx
rdx register
Definition __vcpu-arch.h:75