40 #ifndef __ARCH_ARM_KVM_ARMV8_CPU_HH__
41 #define __ARCH_ARM_KVM_ARMV8_CPU_HH__
49 struct ArmV8KvmCPUParams;
88 void dump()
const override;
144 #endif // __ARCH_ARM_KVM_ARMV8_CPU_HH__
Mapping between misc registers in gem5 and registers in KVM.
void updateKvmState() override
Update the KVM state from the current thread context.
void updateThreadContext() override
Update the current thread context with the KVM state.
This is an implementation of a KVM-based ARMv8-compatible CPU.
MiscRegInfo(uint64_t _kvm, MiscRegIndex _idx, const char *_name)
static const std::vector< ArmV8KvmCPU::MiscRegInfo > miscRegIdMap
Mapping between gem5 ID misc registers registers and registers in kvm.
IntRegIndex idx
Register index in gem5.
const std::vector< ArmV8KvmCPU::MiscRegInfo > & getSysRegMap() const
Get a map between system registers in kvm and gem5 registers.
ArmV8KvmCPU(ArmV8KvmCPUParams *params)
Mapping between integer registers in gem5 and KVM.
MiscRegIndex idx
Register index in gem5.
const char * name
Name to use in debug dumps.
IntRegInfo(uint64_t _kvm, IntRegIndex _idx, const char *_name)
uint64_t kvm
Register index in KVM.
std::vector< ArmV8KvmCPU::MiscRegInfo > sysRegMap
Cached mapping between system registers in kvm and misc regs in gem5.
void dump() const override
Dump the internal state to the terminal.
const char * name
Name to use in debug dumps.
uint64_t kvm
Register index in KVM.
static const std::vector< ArmV8KvmCPU::IntRegInfo > intRegMap
Mapping between gem5 integer registers and integer registers in kvm.
static const std::vector< ArmV8KvmCPU::MiscRegInfo > miscRegMap
Mapping between gem5 misc registers registers and registers in kvm.