38 #ifndef __ARCH_ARM_KVM_BASE_CPU_HH__ 39 #define __ARCH_ARM_KVM_BASE_CPU_HH__ 45 struct BaseArmKvmCPUParams;
92 std::unique_ptr<struct kvm_reg_list>
tryGetRegList(uint64_t nelem)
const;
101 bool getRegList(
struct kvm_reg_list ®s)
const;
109 #endif // __ARCH_ARM_KVM_BASE_CPU_HH__ void kvmArmVCpuInit(const struct kvm_vcpu_init &init)
Tell the kernel to initialize this CPU.
std::unique_ptr< struct kvm_reg_list > tryGetRegList(uint64_t nelem) const
BaseArmKvmCPU(BaseArmKvmCPUParams *params)
Base class for KVM based CPU models.
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
void startup() override
startup() is the final initialization call before simulation.
const RegIndexVector & getRegList() const
Get a list of registers supported by getOneReg() and setOneReg().
RegIndexVector _regIndexList
Cached copy of the list of registers supported by KVM.
uint64_t Tick
Tick count type.
Tick kvmRun(Tick ticks) override
Request KVM to run the guest for a given number of ticks.
bool irqAsserted
Cached state of the IRQ line.
std::vector< uint64_t > RegIndexVector
bool fiqAsserted
Cached state of the FIQ line.
const Params * params() const