|
gem5 v25.0.0.1
|
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.
References gem5::Named::_name, buildDispatcher(), buildDumper(), call32, call64, dump32, dump64, and name.
|
inline |
Definition at line 483 of file semihosting.hh.
References gem5::Named::_name, buildDispatcher(), buildDumper(), call32, call64, dump32, dump64, and name.
|
inlinestatic |
Definition at line 451 of file semihosting.hh.
References gem5::MipsISA::impl, gem5::invokeSimcall(), gem5::ArmISA::sh, and wrapImpl().
Referenced by SemiCallBase(), and SemiCallBase().
|
inlinestatic |
Definition at line 463 of file semihosting.hh.
References gem5::dumpSimcall(), gem5::MipsISA::impl, and name.
Referenced by SemiCallBase(), and SemiCallBase().
|
inlinestatic |
Definition at line 427 of file semihosting.hh.
References gem5::MipsISA::impl, and gem5::ArmISA::sh.
Referenced by buildDispatcher().
| Dispatcher gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::call32 |
Definition at line 441 of file semihosting.hh.
Referenced by SemiCallBase(), and SemiCallBase().
| Dispatcher gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::call64 |
Definition at line 442 of file semihosting.hh.
Referenced by SemiCallBase(), and SemiCallBase().
| Dumper gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::dump32 |
Definition at line 445 of file semihosting.hh.
Referenced by SemiCallBase(), and SemiCallBase().
| Dumper gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::dump64 |
Definition at line 446 of file semihosting.hh.
Referenced by SemiCallBase(), and SemiCallBase().
| const char* gem5::BaseSemihosting::SemiCallBase< Semihosting, Abi32, Abi64 >::name |
Call name.
Definition at line 416 of file semihosting.hh.
Referenced by buildDumper(), SemiCallBase(), and SemiCallBase().