diff --git a/src/arch/arm/kvm/arm_cpu.cc b/src/arch/arm/kvm/arm_cpu.cc index 02e6240dae..a8b07b99f4 100644 --- a/src/arch/arm/kvm/arm_cpu.cc +++ b/src/arch/arm/kvm/arm_cpu.cc @@ -312,26 +312,6 @@ ArmKvmCPU::updateThreadContext() updateTCStateMisc(); } -Tick -ArmKvmCPU::onKvmExitHypercall() -{ - ThreadContext *tc(getContext(0)); - const uint32_t reg_ip(tc->readIntRegFlat(INTREG_R12)); - const uint8_t func((reg_ip >> 8) & 0xFF); - - DPRINTF(Kvm, "KVM Hypercall: %#x/%#x\n", func, subfunc); - const uint64_t ret = - PseudoInst::pseudoInst(getContext(0), func); - - // Just set the return value using the KVM API instead of messing - // with the context. We could have used the context, but that - // would have required us to request a full context sync. - setOneReg(REG_CORE32(usr_regs.ARM_r0), ret & 0xFFFFFFFF); - setOneReg(REG_CORE32(usr_regs.ARM_r1), (ret >> 32) & 0xFFFFFFFF); - - return 0; -} - const ArmKvmCPU::RegIndexVector & ArmKvmCPU::getRegList() const { diff --git a/src/arch/arm/kvm/arm_cpu.hh b/src/arch/arm/kvm/arm_cpu.hh index 16725de244..28453d7bd1 100644 --- a/src/arch/arm/kvm/arm_cpu.hh +++ b/src/arch/arm/kvm/arm_cpu.hh @@ -92,8 +92,6 @@ class ArmKvmCPU : public BaseKvmCPU void updateKvmState(); void updateThreadContext(); - Tick onKvmExitHypercall(); - /** * Get a list of registers supported by getOneReg() and setOneReg(). */