gem5  v19.0.0.0
Public Member Functions | Public Attributes | List of all members
ArmSemihosting::SemiCall Struct Reference

Semihosting call information structure. More...

Public Member Functions

bool implemented32 () const
 Is call implemented in aarch32? More...
 
bool implemented64 () const
 Is call implemented in aarch64? More...
 

Public Attributes

const char * name
 Call name. More...
 
RetErrno(ArmSemihosting::* call )(ThreadContext *tc, bool aarch64, std::vector< uint64_t > &argv)
 Pointer to call implementation. More...
 
int argc32
 Number of aarch32 arguments to read from guest memory. More...
 
int argc64
 Number of aarch32 arguments to read from guest memory. More...
 

Detailed Description

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), a pointer to the implementation, and information needed to read its parameters from guest memory.

Definition at line 284 of file semihosting.hh.

Member Function Documentation

◆ implemented32()

bool ArmSemihosting::SemiCall::implemented32 ( ) const
inline

Is call implemented in aarch32?

Definition at line 311 of file semihosting.hh.

Referenced by ArmSemihosting::call32().

◆ implemented64()

bool ArmSemihosting::SemiCall::implemented64 ( ) const
inline

Is call implemented in aarch64?

Definition at line 313 of file semihosting.hh.

Referenced by ArmSemihosting::call64().

Member Data Documentation

◆ argc32

int ArmSemihosting::SemiCall::argc32

Number of aarch32 arguments to read from guest memory.

-1 if unimplemented.

Definition at line 305 of file semihosting.hh.

Referenced by ArmSemihosting::call32().

◆ argc64

int ArmSemihosting::SemiCall::argc64

Number of aarch32 arguments to read from guest memory.

-1 if unimplemented.

Definition at line 308 of file semihosting.hh.

Referenced by ArmSemihosting::call64().

◆ call

RetErrno(ArmSemihosting::* ArmSemihosting::SemiCall::call) (ThreadContext *tc, bool aarch64, std::vector< uint64_t > &argv)

Pointer to call implementation.

Parameters
tcThreadContext pointer for caller
aarch64True if in aarc64 mode, false otherwise. argv Argument vector. argv[0] always corresponds to the pointer to the argument list. Remaining entries are read as consecutive words starting at the address pointed to by argv[0].
Returns
a (return value, errno) pair

Definition at line 300 of file semihosting.hh.

Referenced by ArmSemihosting::call32(), and ArmSemihosting::call64().

◆ name

const char* ArmSemihosting::SemiCall::name

Call name.

Definition at line 287 of file semihosting.hh.

Referenced by ArmSemihosting::call32(), and ArmSemihosting::call64().


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

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