aos/include/barrelfish_kpi/vmkit.h
Daniel Schwyn 6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00

41 lines
1.0 KiB
C

/**
* \file
* \brief Interface to shared data structures between the kernel and a VM monitor.
*/
/*
* Copyright (c) 2009, ETH Zurich.
* All rights reserved.
*
* This file is distributed under the terms in the attached LICENSE file.
* If you do not find this file, copies can be found by writing to:
* ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
*/
#ifndef KPI_VMKIT_H
#define KPI_VMKIT_H
struct msr_entry {
uint32_t index;
uint32_t reserved;
uint64_t val;
} __attribute__ ((packed));
/**
* \brief A VMKit guest control and state structure.
*
* Defines some control and state values shared beween VMKit kernel and a VM
* monitor.
*/
struct guest_control {
/// Space to store all regs not captured in the VMCB
struct registers_x86_64 regs;
struct registers_x86_64 host_regs;
uint64_t guest_cr2;
uint64_t host_cr2;
uint64_t num_vm_exits_with_monitor_invocation;
uint64_t num_vm_exits_without_monitor_invocation;
};
#endif // KPI_VMKIT_H