arch,sim: Stop decoding the pseudo inst subfunc value.
This isn't used by anything any more. The func field is left in place to ensure compatability, but there's no reason to decode a value nobody is going to use. Jira Issue: https://gem5.atlassian.net/browse/GEM5-187 Change-Id: I85fcd0e4a362551c29af6bff350d99af86050415 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23179 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -318,11 +318,10 @@ ArmKvmCPU::onKvmExitHypercall()
|
||||
ThreadContext *tc(getContext(0));
|
||||
const uint32_t reg_ip(tc->readIntRegFlat(INTREG_R12));
|
||||
const uint8_t func((reg_ip >> 8) & 0xFF);
|
||||
const uint8_t subfunc(reg_ip & 0xFF);
|
||||
|
||||
DPRINTF(Kvm, "KVM Hypercall: %#x/%#x\n", func, subfunc);
|
||||
const uint64_t ret =
|
||||
PseudoInst::pseudoInst<PseudoInstABI>(getContext(0), func, subfunc);
|
||||
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
|
||||
|
||||
@@ -43,11 +43,10 @@ handlePseudoInst(ThreadContext *xc, Packet *pkt)
|
||||
{
|
||||
const Addr offset(pkt->getAddr() & IPR_IN_CLASS_MASK);
|
||||
const uint8_t func((offset >> 8) & 0xFF);
|
||||
const uint8_t subfunc(offset & 0xFF);
|
||||
uint64_t ret;
|
||||
|
||||
assert((offset >> 16) == 0);
|
||||
ret = PseudoInst::pseudoInst<PseudoInstABI>(xc, func, subfunc);
|
||||
ret = PseudoInst::pseudoInst<PseudoInstABI>(xc, func);
|
||||
if (pkt->isRead())
|
||||
pkt->set(ret, TheISA::GuestByteOrder);
|
||||
}
|
||||
|
||||
@@ -123,14 +123,13 @@ void togglesync(ThreadContext *tc);
|
||||
* manner using the ISA-specific getArguments functions.
|
||||
*
|
||||
* @param func M5 pseudo op major function number (see utility/m5/m5ops.h)
|
||||
* @param subfunc M5 minor function number. Mainly used for annotations.
|
||||
*/
|
||||
|
||||
template <typename ABI>
|
||||
uint64_t
|
||||
pseudoInst(ThreadContext *tc, uint8_t func, uint8_t subfunc)
|
||||
pseudoInst(ThreadContext *tc, uint8_t func)
|
||||
{
|
||||
DPRINTF(PseudoInst, "PseudoInst::pseudoInst(%i, %i)\n", func, subfunc);
|
||||
DPRINTF(PseudoInst, "PseudoInst::pseudoInst(%i)\n", func);
|
||||
|
||||
switch (func) {
|
||||
case M5OP_ARM:
|
||||
|
||||
Reference in New Issue
Block a user