gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::SyscallDescABI< ABI > Class Template Reference

#include <syscall_desc.hh>

Inheritance diagram for gem5::SyscallDescABI< ABI >:
gem5::SyscallDesc

Public Member Functions

template<typename ... Args>
 SyscallDescABI (int num, const char *name, ABIExecutor< Args... > target)
 
template<typename ... Args>
 SyscallDescABI (int num, const char *name, ABIExecutorPtr< Args... > target)
 
 SyscallDescABI (int num, const char *name)
 
void returnInto (ThreadContext *tc, const SyscallReturn &ret) override
 For use within the system call executor if new threads are created and need something returned into them.
 
- Public Member Functions inherited from gem5::SyscallDesc
void doSyscall (ThreadContext *tc)
 Interface for invoking the system call funcion pointer.
 
std::string name () const
 
int num () const
 

Private Types

template<typename ... Args>
using ABIExecutor
 
template<typename ... Args>
using ABIExecutorPtr
 

Static Private Member Functions

template<typename ... Args>
static Executor buildExecutor (ABIExecutor< Args... > target)
 
template<typename ... Args>
static Dumper buildDumper ()
 

Additional Inherited Members

- Protected Types inherited from gem5::SyscallDesc
using Executor
 
using Dumper = std::function<std::string(std::string, ThreadContext *)>
 
- Protected Member Functions inherited from gem5::SyscallDesc
 SyscallDesc (int num, const char *name, Executor exec, Dumper dump)
 
void retrySyscall (ThreadContext *tc)
 

Detailed Description

template<typename ABI>
class gem5::SyscallDescABI< ABI >

Definition at line 119 of file syscall_desc.hh.

Member Typedef Documentation

◆ ABIExecutor

template<typename ABI >
template<typename ... Args>
using gem5::SyscallDescABI< ABI >::ABIExecutor
private
Initial value:
std::function<SyscallReturn(SyscallDesc *, ThreadContext *, Args...)>
SyscallDesc(int num, const char *name, Executor exec, Dumper dump)

Definition at line 124 of file syscall_desc.hh.

◆ ABIExecutorPtr

template<typename ABI >
template<typename ... Args>
using gem5::SyscallDescABI< ABI >::ABIExecutorPtr
private
Initial value:
SyscallReturn (*)(SyscallDesc *, ThreadContext *, Args...)

Definition at line 128 of file syscall_desc.hh.

Constructor & Destructor Documentation

◆ SyscallDescABI() [1/3]

template<typename ABI >
template<typename ... Args>
gem5::SyscallDescABI< ABI >::SyscallDescABI ( int num,
const char * name,
ABIExecutor< Args... > target )
inline

Definition at line 167 of file syscall_desc.hh.

◆ SyscallDescABI() [2/3]

template<typename ABI >
template<typename ... Args>
gem5::SyscallDescABI< ABI >::SyscallDescABI ( int num,
const char * name,
ABIExecutorPtr< Args... > target )
inline

Definition at line 173 of file syscall_desc.hh.

◆ SyscallDescABI() [3/3]

template<typename ABI >
gem5::SyscallDescABI< ABI >::SyscallDescABI ( int num,
const char * name )
inline

Definition at line 177 of file syscall_desc.hh.

Member Function Documentation

◆ buildDumper()

template<typename ABI >
template<typename ... Args>
static Dumper gem5::SyscallDescABI< ABI >::buildDumper ( )
inlinestaticprivate

Definition at line 157 of file syscall_desc.hh.

References gem5::dumpSimcall(), and gem5::SyscallDesc::name().

◆ buildExecutor()

template<typename ABI >
template<typename ... Args>
static Executor gem5::SyscallDescABI< ABI >::buildExecutor ( ABIExecutor< Args... > target)
inlinestaticprivate

Definition at line 136 of file syscall_desc.hh.

References gem5::invokeSimcall().

◆ returnInto()

template<typename ABI >
void gem5::SyscallDescABI< ABI >::returnInto ( ThreadContext * tc,
const SyscallReturn & ret )
inlineoverridevirtual

For use within the system call executor if new threads are created and need something returned into them.

Implements gem5::SyscallDesc.

Definition at line 182 of file syscall_desc.hh.


The documentation for this class was generated from the following file:

Generated on Tue Jun 18 2024 16:24:15 for gem5 by doxygen 1.11.0