gem5 v24.0.0.0
|
Semihosting call information structure. More...
#include <semihosting.hh>
Public Types | |
template<typename Impl , typename... Args> | |
using | Implementation |
using | Dispatcher |
using | Dumper = std::function<std::string(ThreadContext *tc)> |
Public Member Functions | |
template<typename SemiImpl , typename... Args> | |
SemiCallBase (const char *_name, Implementation< SemiImpl, Args... > common) | |
template<typename SemiImpl , typename... Args32, typename... Args64> | |
SemiCallBase (const char *_name, Implementation< SemiImpl, Args32... > impl32, Implementation< SemiImpl, Args64... > impl64) | |
Static Public Member Functions | |
template<typename SemiImpl , typename... Args> | |
static std::function< RetErrno(ThreadContext *tc, Args... args)> | wrapImpl (SemiImpl *sh, Implementation< SemiImpl, Args... > impl) |
template<typename Abi , typename SemiImpl , typename... Args> | |
static Dispatcher | buildDispatcher (Implementation< SemiImpl, Args... > impl) |
template<typename Abi , typename SemiImpl , typename... Args> | |
static Dumper | buildDumper (const char *name, Implementation< SemiImpl, Args... > impl) |
Public Attributes | |
const char * | name |
Call name. | |
Dispatcher | call32 |
Dispatcher | call64 |
Dumper | dump32 |
Dumper | dump64 |
Semihosting call information structure.
This structure describes how a semi-hosting call is implemented. It contains debug information (e.g., the name of the call), and a way to invoke it in a particular context.
Definition at line 413 of file semihosting.hh.
using gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::Dispatcher |
Definition at line 436 of file semihosting.hh.
using gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::Dumper = std::function<std::string(ThreadContext *tc)> |
Definition at line 438 of file semihosting.hh.
using gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::Implementation |
Definition at line 420 of file semihosting.hh.
|
inline |
Definition at line 473 of file semihosting.hh.
|
inline |
Definition at line 483 of file semihosting.hh.
|
inlinestatic |
Definition at line 451 of file semihosting.hh.
References gem5::MipsISA::impl, gem5::invokeSimcall(), gem5::ArmISA::sh, and gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::wrapImpl().
|
inlinestatic |
Definition at line 463 of file semihosting.hh.
References gem5::dumpSimcall(), and gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::name.
|
inlinestatic |
Definition at line 427 of file semihosting.hh.
References gem5::MipsISA::impl, and gem5::ArmISA::sh.
Referenced by gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::buildDispatcher().
Dispatcher gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::call32 |
Definition at line 441 of file semihosting.hh.
Dispatcher gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::call64 |
Definition at line 442 of file semihosting.hh.
Dumper gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::dump32 |
Definition at line 445 of file semihosting.hh.
Dumper gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::dump64 |
Definition at line 446 of file semihosting.hh.
const char* gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::name |
Call name.
Definition at line 416 of file semihosting.hh.
Referenced by gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::buildDumper().