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:
@@ -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__
|
||||
|
||||
Reference in New Issue
Block a user