gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Types | Static Private Member Functions | List of all members
SyscallDescABI< ABI > Class Template Reference

#include <syscall_desc.hh>

Inheritance diagram for SyscallDescABI< ABI >:
SyscallDesc

Public Member Functions

template<typename ... Args>
 SyscallDescABI (const char *name, SyscallABIExecutor< Args... > target)
 
template<typename ... Args>
 SyscallDescABI (const char *name, SyscallABIExecutorPtr< Args... > target)
 
- Public Member Functions inherited from SyscallDesc
 SyscallDesc (const char *name, SyscallExecutor sys_exec=unimplementedFunc)
 
void doSyscall (int callnum, ThreadContext *tc, Fault *fault)
 Interface for invoking the system call funcion pointer. More...
 
std::string name ()
 

Private Types

template<typename ... Args>
using SyscallABIExecutor = std::function< SyscallReturn(SyscallDesc *, int, ThreadContext *, Args...)>
 
template<typename ... Args>
using SyscallABIExecutorPtr = SyscallReturn(*)(SyscallDesc *, int, ThreadContext *, Args...)
 

Static Private Member Functions

template<typename ... Args>
static SyscallExecutor buildExecutor (SyscallABIExecutor< Args... > target)
 

Additional Inherited Members

- Public Types inherited from SyscallDesc
using SyscallExecutor = std::function< SyscallReturn(SyscallDesc *, int num, ThreadContext *)>
 

Detailed Description

template<typename ABI>
class SyscallDescABI< ABI >

Definition at line 104 of file syscall_desc.hh.

Member Typedef Documentation

◆ SyscallABIExecutor

template<typename ABI>
template<typename ... Args>
using SyscallDescABI< ABI >::SyscallABIExecutor = std::function<SyscallReturn(SyscallDesc *, int, ThreadContext *, Args...)>
private

Definition at line 111 of file syscall_desc.hh.

◆ SyscallABIExecutorPtr

template<typename ABI>
template<typename ... Args>
using SyscallDescABI< ABI >::SyscallABIExecutorPtr = SyscallReturn (*)(SyscallDesc *, int, ThreadContext *, Args...)
private

Definition at line 115 of file syscall_desc.hh.

Constructor & Destructor Documentation

◆ SyscallDescABI() [1/2]

template<typename ABI>
template<typename ... Args>
SyscallDescABI< ABI >::SyscallDescABI ( const char *  name,
SyscallABIExecutor< Args... >  target 
)
inline

Definition at line 145 of file syscall_desc.hh.

◆ SyscallDescABI() [2/2]

template<typename ABI>
template<typename ... Args>
SyscallDescABI< ABI >::SyscallDescABI ( const char *  name,
SyscallABIExecutorPtr< Args... >  target 
)
inline

Definition at line 150 of file syscall_desc.hh.

Member Function Documentation

◆ buildExecutor()

template<typename ABI>
template<typename ... Args>
static SyscallExecutor SyscallDescABI< ABI >::buildExecutor ( SyscallABIExecutor< Args... >  target)
inlinestaticprivate

Definition at line 122 of file syscall_desc.hh.


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

Generated on Fri Feb 28 2020 16:27:17 for gem5 by doxygen 1.8.13