hw: name vm_state header explicitely

Ref #3251
This commit is contained in:
Stefan Kalkowski
2019-03-21 13:59:30 +01:00
committed by Norman Feske
parent 4c492a3be7
commit 8f28f884ee
12 changed files with 10 additions and 9 deletions

View File

@@ -0,0 +1,85 @@
/*
* \brief CPU, PIC, and timer context of a virtual machine
* \author Stefan Kalkowski
* \date 2015-02-10
*/
/*
* Copyright (C) 2015-2017 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef _INCLUDE__SPEC__ARNDALE__VM_STATE_H_
#define _INCLUDE__SPEC__ARNDALE__VM_STATE_H_
/* Genode includes */
#include <cpu/cpu_state.h>
namespace Genode
{
/**
* CPU context of a virtual machine
*/
struct Vm_state;
}
struct Genode::Vm_state : Genode::Cpu_state_modes
{
Genode::uint64_t vttbr;
Genode::uint32_t sctrl;
Genode::uint32_t hsr;
Genode::uint32_t hpfar;
Genode::uint32_t hdfar;
Genode::uint32_t hifar;
Genode::uint32_t ttbcr;
Genode::uint32_t ttbr0;
Genode::uint32_t ttbr1;
Genode::uint32_t prrr;
Genode::uint32_t nmrr;
Genode::uint32_t dacr;
Genode::uint32_t dfsr;
Genode::uint32_t ifsr;
Genode::uint32_t adfsr;
Genode::uint32_t aifsr;
Genode::uint32_t dfar;
Genode::uint32_t ifar;
Genode::uint32_t cidr;
Genode::uint32_t tls1;
Genode::uint32_t tls2;
Genode::uint32_t tls3;
Genode::uint32_t cpacr;
/**
* Fpu registers
*/
Genode::uint32_t fpscr;
Genode::uint64_t d0_d31[32];
/**
* Timer related registers
*/
Genode::uint32_t timer_ctrl;
Genode::uint32_t timer_val;
bool timer_irq;
/**
* PIC related registers
*/
enum { NR_IRQ = 4 };
Genode::uint32_t gic_hcr;
Genode::uint32_t gic_vmcr;
Genode::uint32_t gic_misr;
Genode::uint32_t gic_apr;
Genode::uint32_t gic_eisr;
Genode::uint32_t gic_elrsr0;
Genode::uint32_t gic_lr[4];
unsigned gic_irq;
};
#endif /* _INCLUDE__SPEC__ARNDALE__VM_STATE_H_ */

View File

@@ -14,7 +14,7 @@
#ifndef _CORE__KERNEL__VM_H_
#define _CORE__KERNEL__VM_H_
#include <cpu/vm_state.h>
namespace Genode { class Vm_state; }
/* core includes */
#include <kernel/cpu_context.h>

View File

@@ -24,8 +24,7 @@ void Kernel::Thread::_call_new_vm()
return;
}
_call_new<Vm>((Genode::Cpu_state_modes*)user_arg_2(), context,
(void*)user_arg_3());
_call_new<Vm>((void*)user_arg_2(), context, (void*)user_arg_3());
}

View File

@@ -15,6 +15,7 @@
/* core includes */
#include <kernel/cpu.h>
#include <kernel/vm.h>
#include <cpu/vm_state_trustzone.h>
using namespace Kernel;

View File

@@ -13,6 +13,7 @@
#include <base/log.h>
#include <hw/assert.h>
#include <cpu/vm_state_virtualization.h>
#include <platform_pd.h>
#include <kernel/cpu.h>

View File

@@ -17,7 +17,7 @@
#include <platform_pd.h>
#include <kernel/cpu.h>
#include <kernel/vm.h>
#include <cpu/cpu_state.h>
#include <kernel/vm_state.h>
#include <pic.h>
Kernel::Vm::Vm(void * const state, Kernel::Signal_context * const context,

View File

@@ -16,8 +16,7 @@
namespace Genode
{
using Cpu_state_modes = Cpu_state;
using Vm_state = Cpu_state;
struct Vm_state : Cpu_state {};
}
#endif /* _CORE__SPEC__X86_64__MUEN__VM_STATE_H_ */

View File

@@ -24,6 +24,7 @@
#include <dataspace_component.h>
#include <object.h>
#include <kernel/vm.h>
#include <kernel/vm_state.h>
namespace Genode {
class Vm_session_component;