arm: Delete the unused onKvmExitHypercall method.
authorGabe Black <gabeblack@google.com>
Wed, 11 Dec 2019 02:56:46 +0000 (18:56 -0800)
committerGabe Black <gabeblack@google.com>
Thu, 12 Mar 2020 07:21:13 +0000 (07:21 +0000)
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 <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>

src/arch/arm/kvm/arm_cpu.cc
src/arch/arm/kvm/arm_cpu.hh

index 02e6240dae370d8299b36f7387e83f1a996488ed..a8b07b99f4f3b97318b43bb62fa711ce36e4091a 100644 (file)
@@ -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<PseudoInstABI>(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
 {
index 16725de244d6970d13bf47c851d356560f6fd7c5..28453d7bd18a6fea55a2fd0d442873a5e41153d5 100644 (file)
@@ -92,8 +92,6 @@ class ArmKvmCPU : public BaseKvmCPU
     void updateKvmState();
     void updateThreadContext();
 
-    Tick onKvmExitHypercall();
-
     /**
      * Get a list of registers supported by getOneReg() and setOneReg().
      */