gem5  v20.1.0.0
Public Types | Public Member Functions | Private Attributes | List of all members
MemBackdoor Class Reference

#include <backdoor.hh>

Public Types

enum  Flags { NoAccess = 0x0, Readable = 0x1, Writeable = 0x2 }
 
typedef std::function< void(const MemBackdoor &backdoor)> CbFunction
 

Public Member Functions

const AddrRangerange () const
 
void range (const AddrRange &r)
 
uint8_t * ptr () const
 
void ptr (uint8_t *p)
 
bool readable () const
 
void readable (bool r)
 
bool writeable () const
 
void writeable (bool w)
 
Flags flags () const
 
void flags (Flags f)
 
 MemBackdoor (AddrRange r, uint8_t *p, Flags flags)
 
 MemBackdoor ()
 
void addInvalidationCallback (CbFunction func)
 
void invalidate ()
 

Private Attributes

CallbackQueue invalidationCallbacks
 
AddrRange _range
 
uint8_t * _ptr
 
Flags _flags
 

Detailed Description

Definition at line 38 of file backdoor.hh.

Member Typedef Documentation

◆ CbFunction

typedef std::function<void(const MemBackdoor &backdoor)> MemBackdoor::CbFunction

Definition at line 43 of file backdoor.hh.

Member Enumeration Documentation

◆ Flags

Enumerator
NoAccess 
Readable 
Writeable 

Definition at line 46 of file backdoor.hh.

Constructor & Destructor Documentation

◆ MemBackdoor() [1/2]

MemBackdoor::MemBackdoor ( AddrRange  r,
uint8_t *  p,
Flags  flags 
)
inline

Definition at line 88 of file backdoor.hh.

◆ MemBackdoor() [2/2]

MemBackdoor::MemBackdoor ( )
inline

Definition at line 92 of file backdoor.hh.

Member Function Documentation

◆ addInvalidationCallback()

void MemBackdoor::addInvalidationCallback ( CbFunction  func)
inline

◆ flags() [1/2]

Flags MemBackdoor::flags ( ) const
inline

Definition at line 85 of file backdoor.hh.

References _flags.

◆ flags() [2/2]

void MemBackdoor::flags ( Flags  f)
inline

Definition at line 86 of file backdoor.hh.

References _flags, and ArmISA::f.

◆ invalidate()

void MemBackdoor::invalidate ( )
inline

Definition at line 109 of file backdoor.hh.

References invalidationCallbacks, and CallbackQueue::process().

Referenced by AbstractMemory::setBackingStore().

◆ ptr() [1/2]

uint8_t* MemBackdoor::ptr ( ) const
inline

◆ ptr() [2/2]

void MemBackdoor::ptr ( uint8_t *  p)
inline

Definition at line 59 of file backdoor.hh.

References _ptr, and MipsISA::p.

◆ range() [1/2]

const AddrRange& MemBackdoor::range ( ) const
inline

Definition at line 54 of file backdoor.hh.

References _range.

Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr().

◆ range() [2/2]

void MemBackdoor::range ( const AddrRange r)
inline

Definition at line 55 of file backdoor.hh.

References _range, and MipsISA::r.

◆ readable() [1/2]

bool MemBackdoor::readable ( ) const
inline

Definition at line 65 of file backdoor.hh.

References _flags, and Readable.

Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr().

◆ readable() [2/2]

void MemBackdoor::readable ( bool  r)
inline

Definition at line 67 of file backdoor.hh.

References _flags, MipsISA::r, and Readable.

◆ writeable() [1/2]

bool MemBackdoor::writeable ( ) const
inline

Definition at line 75 of file backdoor.hh.

References _flags, and Writeable.

Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr().

◆ writeable() [2/2]

void MemBackdoor::writeable ( bool  w)
inline

Definition at line 77 of file backdoor.hh.

References _flags, MipsISA::w, and Writeable.

Member Data Documentation

◆ _flags

Flags MemBackdoor::_flags
private

Definition at line 120 of file backdoor.hh.

Referenced by flags(), readable(), and writeable().

◆ _ptr

uint8_t* MemBackdoor::_ptr
private

Definition at line 119 of file backdoor.hh.

Referenced by ptr().

◆ _range

AddrRange MemBackdoor::_range
private

Definition at line 118 of file backdoor.hh.

Referenced by range().

◆ invalidationCallbacks

CallbackQueue MemBackdoor::invalidationCallbacks
private

Definition at line 116 of file backdoor.hh.

Referenced by addInvalidationCallback(), and invalidate().


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

Generated on Wed Sep 30 2020 14:02:27 for gem5 by doxygen 1.8.17