sim: Eliminate the generic PseudoInstABI.
authorGabe Black <gabe.black@gmail.com>
Mon, 18 Jan 2021 05:28:41 +0000 (21:28 -0800)
committerGabe Black <gabe.black@gmail.com>
Sat, 30 Jan 2021 06:22:10 +0000 (06:22 +0000)
Calls to gem5 ops are now handled by locally defined ABIs in each of the
ISAs that support them.

Change-Id: I30aac7b49fa8dc8e18aa7724338d1fd2adacda90
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39319
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/sim/pseudo_inst.hh

index d244adbe1f68004565f059da0561fca62fd9eb2b..b0b65c687df09952b86de3ec33ac497603314978 100644 (file)
 
 class ThreadContext;
 
-#include "arch/utility.hh"
 #include "base/bitfield.hh"
+#include "base/logging.hh"
+#include "base/trace.hh"
 #include "base/types.hh" // For Tick and Addr data types.
+#include "cpu/thread_context.hh"
 #include "debug/PseudoInst.hh"
 #include "sim/guest_abi.hh"
 
-struct PseudoInstABI
-{
-    using State = int;
-};
-
-namespace GuestABI
-{
-
-template <>
-struct Argument<PseudoInstABI, uint64_t>
-{
-    static uint64_t
-    get(ThreadContext *tc, PseudoInstABI::State &state)
-    {
-        uint64_t result =
-            TheISA::getArgument(tc, state, sizeof(uint64_t), false);
-        state++;
-        return result;
-    }
-};
-
-} // namespace GuestABI
-
 namespace PseudoInst
 {