#include <type_traits>
#include "base/compiler.hh"
#include "sim/guest_abi/definition.hh"
Go to the source code of this file.
|
struct | gem5::guest_abi::StateInitializer< ABI, Enabled > |
|
struct | gem5::guest_abi::StateInitializer< ABI, typename std::enable_if_t< std::is_constructible_v< typename ABI::State, const ThreadContext * > > > |
|
struct | gem5::guest_abi::Preparer< ABI, Role, Type, Enabled > |
|
struct | gem5::guest_abi::Preparer< ABI, Role, Type, decltype((void)&Role< ABI, Type >::prepare)> |
|
struct | gem5::guest_abi::ResultStorer< ABI, Ret, Enabled > |
|
struct | gem5::guest_abi::ResultStorer< ABI, Ret, typename std::enable_if_t< std::is_same_v< void(*)(ThreadContext *, const Ret &, typename ABI::State &), decltype(&Result< ABI, Ret >::store)> > > |
|
|
template<typename ABI > |
static ABI::State | gem5::guest_abi::initializeState (const ThreadContext *tc) |
|
template<typename ABI , typename Ret , typename Enabled = void> |
static void | gem5::guest_abi::prepareForResult (ThreadContext *tc, typename ABI::State &state) |
|
template<typename ABI , typename ... Args> |
static void | gem5::guest_abi::prepareForArguments (ThreadContext *tc, typename ABI::State &state) |
|
template<typename ABI , typename Ret , typename ... Args> |
static void | gem5::guest_abi::prepareForFunction (ThreadContext *tc, typename ABI::State &state) |
|
template<typename ABI , typename Ret > |
static void | gem5::guest_abi::storeResult (ThreadContext *tc, const Ret &ret, typename ABI::State &state) |
|
template<typename ABI , typename Arg > |
static Arg | gem5::guest_abi::getArgument (ThreadContext *tc, typename ABI::State &state) |
|