mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
base-hw: rename Vm_state to Vcpu_state
Make naming across architectures coherent by renaming Vm_state to Vcpu_state, to reflect that it contains the state of a Vcpu and not that of an entire VM. Ref #4968
This commit is contained in:
parent
149a0183ec
commit
0e49149a46
@ -26,13 +26,13 @@ namespace Genode {
|
||||
/**
|
||||
* CPU context of a virtual machine
|
||||
*/
|
||||
struct Vm_state;
|
||||
using Vm_data = Vm_state;
|
||||
struct Vcpu_state;
|
||||
using Vm_data = Vcpu_state;
|
||||
struct Vcpu_state;
|
||||
}
|
||||
|
||||
|
||||
struct Genode::Vm_state : Genode::Cpu_state_modes
|
||||
struct Genode::Vcpu_state : Genode::Cpu_state_modes
|
||||
{
|
||||
Genode::addr_t dfar;
|
||||
Genode::addr_t ttbr[2];
|
||||
@ -47,6 +47,4 @@ struct Genode::Vm_state : Genode::Cpu_state_modes
|
||||
Genode::addr_t irq_injection;
|
||||
};
|
||||
|
||||
struct Genode::Vcpu_state : Genode::Vm_state { };
|
||||
|
||||
#endif /* _INCLUDE__SPEC__IMX53__VM_STATE_H_ */
|
@ -25,12 +25,12 @@ namespace Genode {
|
||||
/**
|
||||
* CPU context of a virtual machine
|
||||
*/
|
||||
struct Vm_state;
|
||||
using Vm_data = Vm_state;
|
||||
struct Vcpu_state;
|
||||
using Vm_data = Vcpu_state;
|
||||
}
|
||||
|
||||
|
||||
struct Genode::Vm_state : Genode::Cpu_state_modes
|
||||
struct Genode::Vcpu_state : Genode::Cpu_state_modes
|
||||
{
|
||||
Genode::uint64_t vttbr { 0 };
|
||||
Genode::uint32_t sctrl { 0 };
|
@ -25,14 +25,14 @@ namespace Genode {
|
||||
/**
|
||||
* CPU context of a virtual machine
|
||||
*/
|
||||
struct Vm_state;
|
||||
using Vm_data = Vm_state;
|
||||
struct Vcpu_state;
|
||||
using Vm_data = Vcpu_state;
|
||||
|
||||
using uint128_t = __uint128_t;
|
||||
}
|
||||
|
||||
|
||||
struct Genode::Vm_state : Genode::Cpu_state
|
||||
struct Genode::Vcpu_state : Genode::Cpu_state
|
||||
{
|
||||
Genode::uint64_t pstate { 0 };
|
||||
Genode::uint64_t exception_type { 0 };
|
@ -24,19 +24,13 @@ namespace Genode {
|
||||
* CPU context of a virtual machine
|
||||
*/
|
||||
struct Vm_data;
|
||||
|
||||
struct Vm_state;
|
||||
}
|
||||
|
||||
struct Genode::Vm_state : Genode::Vcpu_state
|
||||
{
|
||||
};
|
||||
|
||||
struct Genode::Vm_data
|
||||
{
|
||||
Board::Vmcb vmcb;
|
||||
Genode::addr_t vmcb_phys_addr;
|
||||
Genode::Vm_state * vm_state;
|
||||
Genode::Vcpu_state * vcpu_state;
|
||||
};
|
||||
|
||||
#endif /* _INCLUDE__SPEC__PC__VM_STATE_H_ */
|
@ -20,7 +20,7 @@
|
||||
/* base-hw core includes */
|
||||
#include <spec/arm/virtualization/gicv2.h>
|
||||
#include <spec/arm/generic_timer.h>
|
||||
#include <spec/arm/cpu/vm_state_virtualization.h>
|
||||
#include <spec/arm/cpu/vcpu_state_virtualization.h>
|
||||
#include <spec/arm/virtualization/board.h>
|
||||
#include <spec/cortex_a15/cpu.h>
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <spec/arm/generic_timer.h>
|
||||
#include <spec/arm/virtualization/board.h>
|
||||
#include <spec/cortex_a15/cpu.h>
|
||||
#include <spec/arm/cpu/vm_state_virtualization.h>
|
||||
#include <spec/arm/cpu/vcpu_state_virtualization.h>
|
||||
|
||||
namespace Kernel { class Cpu; }
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <hw/spec/arm/virt_qemu_board.h>
|
||||
#include <spec/arm/generic_timer.h>
|
||||
#include <spec/arm/virtualization/gicv3.h>
|
||||
#include <spec/arm_64/cpu/vm_state_virtualization.h>
|
||||
#include <spec/arm_64/cpu/vcpu_state_virtualization.h>
|
||||
#include <kernel/configuration.h>
|
||||
#include <kernel/irq.h>
|
||||
#include <spec/arm_v8/cpu.h>
|
||||
@ -42,8 +42,8 @@ namespace Board {
|
||||
|
||||
struct Vcpu_context;
|
||||
|
||||
using Vm_state = Genode::Vm_state;
|
||||
using Vm_data = Vm_state;
|
||||
using Vcpu_state = Genode::Vcpu_state;
|
||||
using Vm_data = Vcpu_state;
|
||||
};
|
||||
|
||||
|
||||
|
@ -15,8 +15,6 @@
|
||||
#ifndef _CORE__KERNEL__VM_H_
|
||||
#define _CORE__KERNEL__VM_H_
|
||||
|
||||
namespace Genode { class Vm_state; }
|
||||
|
||||
/* core includes */
|
||||
#include <kernel/cpu_context.h>
|
||||
#include <kernel/pd.h>
|
||||
@ -45,7 +43,7 @@ class Kernel::Vm : private Kernel::Object, public Cpu_job
|
||||
|
||||
private:
|
||||
|
||||
using State = Board::Vm_state;
|
||||
using Vcpu_state = Genode::Vcpu_state;
|
||||
|
||||
/*
|
||||
* Noncopyable
|
||||
@ -57,7 +55,7 @@ class Kernel::Vm : private Kernel::Object, public Cpu_job
|
||||
|
||||
Irq::Pool & _user_irq_pool;
|
||||
Object _kernel_object { *this };
|
||||
State & _state;
|
||||
Vcpu_state & _state;
|
||||
Signal_context & _context;
|
||||
Identity const _id;
|
||||
Scheduler_state _scheduled = INACTIVE;
|
||||
|
@ -15,7 +15,7 @@
|
||||
#define _CORE__SPEC__ARM_TRUSTZONE_BOARD_H_
|
||||
|
||||
/* Genode includes */
|
||||
#include <spec/arm/cpu/vm_state_trustzone.h>
|
||||
#include <spec/arm/cpu/vcpu_state_trustzone.h>
|
||||
|
||||
/* core includes */
|
||||
#include <types.h>
|
||||
@ -24,8 +24,8 @@ namespace Kernel { class Cpu; }
|
||||
|
||||
namespace Board {
|
||||
|
||||
using Core::Vm_state;
|
||||
using Vm_data = Core::Vm_state;
|
||||
using Core::Vcpu_state;
|
||||
using Vm_data = Core::Vcpu_state;
|
||||
|
||||
enum { VCPU_MAX = 1 };
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
/* base-hw internal includes */
|
||||
#include <hw/spec/arm/lpae.h>
|
||||
|
||||
namespace Genode { struct Vm_state; }
|
||||
namespace Genode { struct Vcpu_state; }
|
||||
|
||||
namespace Board {
|
||||
|
||||
@ -31,8 +31,8 @@ namespace Board {
|
||||
|
||||
struct Vcpu_context;
|
||||
|
||||
using Vm_state = Genode::Vm_state;
|
||||
using Vm_data = Genode::Vm_state;
|
||||
using Vcpu_state = Genode::Vcpu_state;
|
||||
using Vm_data = Genode::Vcpu_state;
|
||||
};
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/* core includes */
|
||||
#include <kernel/cpu.h>
|
||||
#include <kernel/vm.h>
|
||||
#include <cpu/vm_state_trustzone.h>
|
||||
#include <cpu/vcpu_state_trustzone.h>
|
||||
|
||||
using namespace Kernel;
|
||||
|
||||
@ -66,7 +66,7 @@ void Vm::exception(Cpu & cpu)
|
||||
bool secure_irq(unsigned const i);
|
||||
|
||||
|
||||
extern "C" void monitor_mode_enter_normal_world(Genode::Vm_state&, void*);
|
||||
extern "C" void monitor_mode_enter_normal_world(Genode::Vcpu_state&, void*);
|
||||
extern void * kernel_stack;
|
||||
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
/* core includes */
|
||||
#include <types.h>
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
|
||||
namespace Hypervisor {
|
||||
|
||||
@ -44,11 +44,11 @@ namespace Hypervisor {
|
||||
}
|
||||
|
||||
|
||||
inline void switch_world(Core::Vm_state & vm_state,
|
||||
inline void switch_world(Core::Vcpu_state & vcpu_state,
|
||||
Host_context & host_state)
|
||||
{
|
||||
hypervisor_call(WORLD_SWITCH,
|
||||
(Call_arg)&vm_state,
|
||||
(Call_arg)&vcpu_state,
|
||||
(Call_arg)&host_state);
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
*/
|
||||
|
||||
#include <hw/assert.h>
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
|
||||
#include <platform_pd.h>
|
||||
#include <kernel/cpu.h>
|
||||
|
@ -27,7 +27,7 @@ hypervisor_exception_vector:
|
||||
mrs x30, hcr_el2 /* read HCR register */
|
||||
tst x30, #1 /* check VM bit */
|
||||
beq _from_host /* if VM bit is not set, its a host call */
|
||||
ldr x29, [sp, #32] /* otherwise, load vm_state pointer */
|
||||
ldr x29, [sp, #32] /* otherwise, load vcpu_state pointer */
|
||||
adr x30, . /* hold exception vector offset in x30 */
|
||||
and x30, x30, #0xf80
|
||||
b _from_vm
|
||||
@ -167,7 +167,7 @@ _to_vm:
|
||||
orr x0, x0, x1
|
||||
msr hcr_el2, x0
|
||||
|
||||
ldr x30, [sp, #16] /* load head of Vm_state again */
|
||||
ldr x30, [sp, #16] /* load head of Vcpu_state again */
|
||||
|
||||
/** general-purpose registers **/
|
||||
ldp x0, x1, [x30], #2*8
|
||||
|
@ -12,7 +12,7 @@
|
||||
* under the terms of the GNU Affero General Public License version 3.
|
||||
*/
|
||||
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
#include <util/mmio.h>
|
||||
|
||||
#include <hw/assert.h>
|
||||
@ -30,14 +30,14 @@ using Kernel::Cpu;
|
||||
using Kernel::Vm;
|
||||
|
||||
|
||||
static Genode::Vm_state & host_context(Cpu & cpu)
|
||||
static Genode::Vcpu_state & host_context(Cpu & cpu)
|
||||
{
|
||||
static Genode::Constructible<Genode::Vm_state>
|
||||
static Genode::Constructible<Genode::Vcpu_state>
|
||||
host_context[Board::NR_OF_CPUS];
|
||||
|
||||
if (!host_context[cpu.id()].constructed()) {
|
||||
host_context[cpu.id()].construct();
|
||||
Genode::Vm_state & c = *host_context[cpu.id()];
|
||||
Genode::Vcpu_state & c = *host_context[cpu.id()];
|
||||
c.sp_el1 = cpu.stack_start();
|
||||
c.ip = (addr_t)&Kernel::main_handle_kernel_entry;
|
||||
c.pstate = 0;
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <kernel/configuration.h>
|
||||
#include <kernel/irq.h>
|
||||
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
#include <hw/spec/x86_64/page_table.h>
|
||||
#include <spec/x86_64/virtualization/svm.h>
|
||||
#include <cpu.h>
|
||||
@ -32,7 +32,7 @@ namespace Board {
|
||||
struct Vcpu_context;
|
||||
|
||||
using Vm_data = Genode::Vm_data;
|
||||
using Vm_state = Genode::Vm_state;
|
||||
using Vcpu_state = Genode::Vcpu_state;
|
||||
|
||||
enum {
|
||||
VCPU_MAX = 16
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
#include <base/log.h>
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
#include <util/construct_at.h>
|
||||
#include <util/mmio.h>
|
||||
#include <cpu/string.h>
|
||||
@ -44,7 +44,7 @@ Vm::Vm(Irq::Pool & user_irq_pool,
|
||||
Kernel::Object { *this },
|
||||
Cpu_job(Cpu_priority::min(), 0),
|
||||
_user_irq_pool(user_irq_pool),
|
||||
_state(*data.vm_state),
|
||||
_state(*data.vcpu_state),
|
||||
_context(context),
|
||||
_id(id),
|
||||
_vcpu_context(id.id, &data.vmcb, data.vmcb_phys_addr)
|
||||
|
@ -115,7 +115,7 @@ Genode::addr_t Vm_session_component::_alloc_vm_data(Genode::addr_t ds_addr)
|
||||
);
|
||||
|
||||
Genode::Vm_data* vm_data = (Genode::Vm_data *) vm_data_ptr;
|
||||
vm_data->vm_state = (Genode::Vm_state *) ds_addr;
|
||||
vm_data->vcpu_state = (Genode::Vcpu_state *) ds_addr;
|
||||
vm_data->vmcb_phys_addr = (addr_t)cma().phys_addr(&vm_data->vmcb);
|
||||
return (Genode::addr_t) vm_data_ptr;
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ using namespace Core;
|
||||
|
||||
|
||||
size_t Vm_session_component::_ds_size() {
|
||||
return align_addr(sizeof(Board::Vm_state), get_page_size_log2()); }
|
||||
return align_addr(sizeof(Board::Vcpu_state), get_page_size_log2()); }
|
||||
|
||||
|
||||
void Vm_session_component::Vcpu::exception_handler(Signal_context_capability handler)
|
||||
|
@ -15,7 +15,7 @@
|
||||
#define _SRC__SERVER__VMM__INCLUDE__MMU_H_
|
||||
|
||||
/* base includes */
|
||||
#include <cpu/vm_state_trustzone.h>
|
||||
#include <cpu/vcpu_state_trustzone.h>
|
||||
|
||||
/* local includes */
|
||||
#include <ram.h>
|
||||
@ -24,7 +24,7 @@ class Mmu
|
||||
{
|
||||
private:
|
||||
|
||||
Genode::Vm_state &_state;
|
||||
Genode::Vcpu_state &_state;
|
||||
Ram const &_ram;
|
||||
|
||||
unsigned _n_bits() { return _state.ttbrc & 0x7; }
|
||||
@ -70,7 +70,7 @@ class Mmu
|
||||
|
||||
public:
|
||||
|
||||
Mmu(Genode::Vm_state &state, Ram const &ram)
|
||||
Mmu(Genode::Vcpu_state &state, Ram const &ram)
|
||||
: _state(state), _ram(ram) {}
|
||||
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <vm_session/connection.h>
|
||||
#include <vm_session/handler.h>
|
||||
#include <util/noncopyable.h>
|
||||
#include <cpu/vm_state_trustzone.h>
|
||||
#include <cpu/vcpu_state_trustzone.h>
|
||||
|
||||
/* local includes */
|
||||
#include <ram.h>
|
||||
|
@ -50,7 +50,7 @@ Vm_base::Vm_base(Env &env,
|
||||
|
||||
void Vm_base::start(Vcpu_state &state)
|
||||
{
|
||||
memset((void*)&state, 0, sizeof(Vm_state));
|
||||
memset((void*)&state, 0, sizeof(Vcpu_state));
|
||||
_load_kernel(state);
|
||||
_load_kernel_surroundings();
|
||||
state.cpsr = 0x93; /* SVC mode and IRQs disabled */
|
||||
@ -106,7 +106,7 @@ void Vm_base::dump(Vcpu_state &state)
|
||||
log_adr_reg("lr ", state.lr);
|
||||
log_adr_reg("ip ", state.ip);
|
||||
log_adr_reg("cpsr ", state.cpsr);
|
||||
for (unsigned i = 0; i < Vm_state::Mode_state::MAX; i++) {
|
||||
for (unsigned i = 0; i < Vcpu_state::Mode_state::MAX; i++) {
|
||||
log_mod_reg("sp ", state.mode[i].sp, mod[i]);
|
||||
log_mod_reg("lr ", state.mode[i].lr, mod[i]);
|
||||
log_mod_reg("spsr ", state.mode[i].spsr, mod[i]);
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include <base/env.h>
|
||||
#include <base/heap.h>
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
#include <util/mmio.h>
|
||||
#include <vm_session/connection.h>
|
||||
#include <vm_session/handler.h>
|
||||
@ -90,7 +90,7 @@ class Vmm::Cpu_base
|
||||
template <typename FUNC>
|
||||
void handle_signal(FUNC handler)
|
||||
{
|
||||
_vm_vcpu.with_state([this, handler](Vm_state &vmstate) {
|
||||
_vm_vcpu.with_state([this, handler](Vcpu_state &vmstate) {
|
||||
State & state = static_cast<State &>(vmstate);
|
||||
_state.construct(state);
|
||||
|
||||
@ -123,7 +123,7 @@ class Vmm::Cpu_base
|
||||
|
||||
void handle()
|
||||
{
|
||||
cpu.handle_signal([this] (Vm_state &) { (obj.*member)(); });
|
||||
cpu.handle_signal([this] (Vcpu_state &) { (obj.*member)(); });
|
||||
}
|
||||
|
||||
Signal_handler(Cpu_base & cpu,
|
||||
|
@ -17,18 +17,18 @@
|
||||
|
||||
using Vmm::Generic_timer;
|
||||
|
||||
bool Generic_timer::_enabled(Vm_state &state)
|
||||
bool Generic_timer::_enabled(Vcpu_state &state)
|
||||
{
|
||||
return Ctrl::Enabled::get(state.timer.control);
|
||||
}
|
||||
|
||||
bool Generic_timer::_masked(Vm_state &state)
|
||||
bool Generic_timer::_masked(Vcpu_state &state)
|
||||
{
|
||||
return Ctrl::Imask::get(state.timer.control);
|
||||
}
|
||||
|
||||
|
||||
bool Generic_timer::_pending(Vm_state &state)
|
||||
bool Generic_timer::_pending(Vcpu_state &state)
|
||||
{
|
||||
return Ctrl::Istatus::get(state.timer.control);
|
||||
}
|
||||
@ -36,7 +36,7 @@ bool Generic_timer::_pending(Vm_state &state)
|
||||
|
||||
void Generic_timer::_handle_timeout(Genode::Duration)
|
||||
{
|
||||
_cpu.handle_signal([this](Vm_state &state) {
|
||||
_cpu.handle_signal([this](Vcpu_state &state) {
|
||||
if (_enabled(state) && !_masked(state))
|
||||
handle_irq(state);
|
||||
});
|
||||
@ -56,7 +56,7 @@ Generic_timer::Generic_timer(Genode::Env & env,
|
||||
}
|
||||
|
||||
|
||||
void Generic_timer::schedule_timeout(Vm_state &state)
|
||||
void Generic_timer::schedule_timeout(Vcpu_state &state)
|
||||
{
|
||||
if (_pending(state)) {
|
||||
handle_irq(state);
|
||||
@ -78,7 +78,7 @@ void Generic_timer::cancel_timeout()
|
||||
}
|
||||
|
||||
|
||||
void Generic_timer::handle_irq(Vm_state &state)
|
||||
void Generic_timer::handle_irq(Vcpu_state &state)
|
||||
{
|
||||
_irq.assert();
|
||||
state.timer.irq = false;
|
||||
@ -87,12 +87,12 @@ void Generic_timer::handle_irq(Vm_state &state)
|
||||
|
||||
void Generic_timer::eoi()
|
||||
{
|
||||
Genode::Vm_state &state = _cpu.state();
|
||||
Genode::Vcpu_state &state = _cpu.state();
|
||||
state.timer.irq = false;
|
||||
};
|
||||
|
||||
|
||||
void Generic_timer::dump(Vm_state &state)
|
||||
void Generic_timer::dump(Vcpu_state &state)
|
||||
{
|
||||
using namespace Genode;
|
||||
|
||||
@ -100,7 +100,7 @@ void Generic_timer::dump(Vm_state &state)
|
||||
log(" timer.cmp = ", Hex(state.timer.compare, Hex::PREFIX, Hex::PAD));
|
||||
}
|
||||
|
||||
void Generic_timer::setup_state(Vm_state &state)
|
||||
void Generic_timer::setup_state(Vcpu_state &state)
|
||||
{
|
||||
state.timer.irq = true;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include <gic.h>
|
||||
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
#include <drivers/timer/util.h>
|
||||
#include <timer_session/connection.h>
|
||||
#include <util/register.h>
|
||||
@ -27,7 +27,7 @@ namespace Vmm {
|
||||
class Generic_timer;
|
||||
}
|
||||
|
||||
using Genode::Vm_state;
|
||||
using Genode::Vcpu_state;
|
||||
|
||||
class Vmm::Generic_timer : Gic::Irq::Irq_handler
|
||||
{
|
||||
@ -47,12 +47,12 @@ class Vmm::Generic_timer : Gic::Irq::Irq_handler
|
||||
|
||||
Genode::uint64_t _ticks_per_ms();
|
||||
|
||||
bool _enabled(Vm_state &state);
|
||||
bool _masked(Vm_state &state);
|
||||
bool _pending(Vm_state &state);
|
||||
bool _enabled(Vcpu_state &state);
|
||||
bool _masked(Vcpu_state &state);
|
||||
bool _pending(Vcpu_state &state);
|
||||
|
||||
void _handle_timeout(Genode::Duration);
|
||||
Genode::uint64_t _usecs_left(Vm_state &state);
|
||||
Genode::uint64_t _usecs_left(Vcpu_state &state);
|
||||
|
||||
public:
|
||||
|
||||
@ -61,11 +61,11 @@ class Vmm::Generic_timer : Gic::Irq::Irq_handler
|
||||
Gic::Irq & irq,
|
||||
Cpu_base & cpu);
|
||||
|
||||
void schedule_timeout(Vm_state &state);
|
||||
void schedule_timeout(Vcpu_state &state);
|
||||
void cancel_timeout();
|
||||
void handle_irq(Vm_state &state);
|
||||
void dump(Vm_state &state);
|
||||
static void setup_state(Vm_state &state);
|
||||
void handle_irq(Vcpu_state &state);
|
||||
void dump(Vcpu_state &state);
|
||||
static void setup_state(Vcpu_state &state);
|
||||
|
||||
|
||||
/*****************
|
||||
|
@ -29,7 +29,7 @@ Genode::uint64_t Generic_timer::_ticks_per_ms()
|
||||
}
|
||||
|
||||
|
||||
Genode::uint64_t Generic_timer::_usecs_left(Vm_state &state)
|
||||
Genode::uint64_t Generic_timer::_usecs_left(Vcpu_state &state)
|
||||
{
|
||||
Genode::uint64_t count;
|
||||
Genode::uint32_t low, high;
|
||||
|
@ -29,7 +29,7 @@ Genode::uint64_t Generic_timer::_ticks_per_ms()
|
||||
}
|
||||
|
||||
|
||||
Genode::uint64_t Generic_timer::_usecs_left(Vm_state &state)
|
||||
Genode::uint64_t Generic_timer::_usecs_left(Vcpu_state &state)
|
||||
{
|
||||
Genode::uint64_t count;
|
||||
asm volatile("mrs %0, cntpct_el0" : "=r" (count));
|
||||
|
@ -14,12 +14,10 @@
|
||||
#ifndef _SRC__SERVER__VMM__STATE_H_
|
||||
#define _SRC__SERVER__VMM__STATE_H_
|
||||
|
||||
#include <cpu/vm_state_virtualization.h>
|
||||
#include <cpu/vcpu_state_virtualization.h>
|
||||
|
||||
using Genode::addr_t;
|
||||
using Genode::Vm_state;
|
||||
|
||||
namespace Genode { struct Vcpu_state : Vm_state { }; };
|
||||
using Genode::Vcpu_state;
|
||||
|
||||
namespace Vmm {
|
||||
struct State : Genode::Vcpu_state
|
||||
|
Loading…
x
Reference in New Issue
Block a user