arch,sim: Stop decoding the pseudo inst subfunc value.
authorGabe Black <gabeblack@google.com>
Mon, 25 Nov 2019 11:00:59 +0000 (03:00 -0800)
committerGabe Black <gabeblack@google.com>
Tue, 7 Jan 2020 03:14:23 +0000 (03:14 +0000)
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>

src/arch/arm/kvm/arm_cpu.cc
src/arch/generic/mmapped_ipr.cc
src/sim/pseudo_inst.hh

index 0a77ee0d6435d728c118dc4abae88f5bcf9b5dc8..80576a25a5576dd1f1060e95cf6c9c4914c60e53 100644 (file)
@@ -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
index 8bdd18016da53dcefd8920fc5b817dec3391678b..754ee026b96c47e7b8c5ec4d95d310786f647746 100644 (file)
@@ -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);
 }
index 8685b825715b5213d3e89524d070f66e61e7ced0..caada36c4c1314fb7adcfa818ea6b7965832e25e 100644 (file)
@@ -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: