From bbe6571d3dcbcb3656d6bbadd972ba760ed32cbb Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 10 Dec 2019 18:56:46 -0800 Subject: [PATCH] arm: Delete the unused onKvmExitHypercall method. The KVM_EXIT_HYPERCALL KVM exit is now unused, and so even if this exit handler was plumbed to receive these exits, they would probably never come. Change-Id: Ic3ecc789102e761a6dbe80caaf57d61dd95f70a6 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23746 Tested-by: kokoro Reviewed-by: Bobby R. Bruce Maintainer: Gabe Black --- src/arch/arm/kvm/arm_cpu.cc | 20 -------------------- src/arch/arm/kvm/arm_cpu.hh | 2 -- 2 files changed, 22 deletions(-) diff --git a/src/arch/arm/kvm/arm_cpu.cc b/src/arch/arm/kvm/arm_cpu.cc index 02e6240da..a8b07b99f 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 16725de24..28453d7bd 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(). */ -- 2.30.2