sim: Eliminate the generic PseudoInstABI.
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>
This commit is contained in:
@@ -45,35 +45,14 @@
|
||||
|
||||
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
|
||||
{
|
||||
|
||||
|
||||
Reference in New Issue
Block a user