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 <noreply+kokoro@google.com> Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
@@ -92,8 +92,6 @@ class ArmKvmCPU : public BaseKvmCPU
|
||||
void updateKvmState();
|
||||
void updateThreadContext();
|
||||
|
||||
Tick onKvmExitHypercall();
|
||||
|
||||
/**
|
||||
* Get a list of registers supported by getOneReg() and setOneReg().
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user