sim: Get rid of the no longer needed DefaultSyscallABI.

All ISAs now have their own ABI definitions.

Change-Id: I20484b024227658bed7093c232ebf7d64f29bdb6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23458
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:
Gabe Black
2019-12-07 20:54:07 -08:00
parent 46bf404397
commit 1d60aba814

View File

@@ -150,50 +150,4 @@ class SyscallDescABI : public SyscallDesc
using SyscallDesc::SyscallDesc;
};
struct DefaultSyscallABI
{
using Position = int;
};
namespace GuestABI
{
template <>
struct Result<DefaultSyscallABI, SyscallReturn>
{
static void
store(ThreadContext *tc, const SyscallReturn &ret)
{
auto *process = tc->getProcessPtr();
process->setSyscallReturn(tc, ret);
}
};
template <typename Arg>
struct Argument<DefaultSyscallABI, Arg,
typename std::enable_if<std::is_integral<Arg>::value>::type>
{
static Arg
get(ThreadContext *tc, DefaultSyscallABI::Position &position)
{
auto *process = tc->getProcessPtr();
return process->getSyscallArg(tc, position);
}
};
template <typename Arg>
struct Argument<DefaultSyscallABI, Arg,
typename std::enable_if<std::is_pointer<Arg>::value>::type>
{
static Arg
get(ThreadContext *tc, DefaultSyscallABI::Position &position)
{
auto *process = tc->getProcessPtr();
RegVal reg = process->getSyscallArg(tc, position);
return (Arg)(uintptr_t)(reg);
}
};
} // namespace GuestABI
#endif // __SIM_SYSCALL_DESC_HH__