gem5  v22.1.0.0
Public Types | Public Member Functions | Private Attributes | List of all members
tlm::tlm_dmi Class Reference

#include <dmi.hh>

Public Types

enum  dmi_access_e { DMI_ACCESS_NONE = 0x00 , DMI_ACCESS_READ = 0x01 , DMI_ACCESS_WRITE = 0x02 , DMI_ACCESS_READ_WRITE = DMI_ACCESS_READ | DMI_ACCESS_WRITE }
 

Public Member Functions

 tlm_dmi ()
 
void init ()
 
unsigned char * get_dmi_ptr () const
 
sc_dt::uint64 get_start_address () const
 
sc_dt::uint64 get_end_address () const
 
sc_core::sc_time get_read_latency () const
 
sc_core::sc_time get_write_latency () const
 
dmi_access_e get_granted_access () const
 
bool is_none_allowed () const
 
bool is_read_allowed () const
 
bool is_write_allowed () const
 
bool is_read_write_allowed () const
 
void set_dmi_ptr (unsigned char *p)
 
void set_start_address (sc_dt::uint64 addr)
 
void set_end_address (sc_dt::uint64 addr)
 
void set_read_latency (sc_core::sc_time t)
 
void set_write_latency (sc_core::sc_time t)
 
void set_granted_access (dmi_access_e a)
 
void allow_none ()
 
void allow_read ()
 
void allow_write ()
 
void allow_read_write ()
 

Private Attributes

unsigned char * m_dmi_ptr
 
sc_dt::uint64 m_dmi_start_address
 
sc_dt::uint64 m_dmi_end_address
 
dmi_access_e m_dmi_access
 
sc_core::sc_time m_dmi_read_latency
 
sc_core::sc_time m_dmi_write_latency
 

Detailed Description

Definition at line 29 of file dmi.hh.

Member Enumeration Documentation

◆ dmi_access_e

Enumerator
DMI_ACCESS_NONE 
DMI_ACCESS_READ 
DMI_ACCESS_WRITE 
DMI_ACCESS_READ_WRITE 

Definition at line 37 of file dmi.hh.

Constructor & Destructor Documentation

◆ tlm_dmi()

tlm::tlm_dmi::tlm_dmi ( )
inline

Definition at line 45 of file dmi.hh.

References init().

Member Function Documentation

◆ allow_none()

void tlm::tlm_dmi::allow_none ( )
inline

Definition at line 87 of file dmi.hh.

References DMI_ACCESS_NONE, and m_dmi_access.

Referenced by tlm_utils::callback_binder_fw< TYPES >::get_direct_mem_ptr().

◆ allow_read()

void tlm::tlm_dmi::allow_read ( )
inline

Definition at line 88 of file dmi.hh.

References DMI_ACCESS_READ, and m_dmi_access.

◆ allow_read_write()

void tlm::tlm_dmi::allow_read_write ( )
inline

◆ allow_write()

void tlm::tlm_dmi::allow_write ( )
inline

Definition at line 89 of file dmi.hh.

References DMI_ACCESS_WRITE, and m_dmi_access.

◆ get_dmi_ptr()

unsigned char* tlm::tlm_dmi::get_dmi_ptr ( ) const
inline

◆ get_end_address()

sc_dt::uint64 tlm::tlm_dmi::get_end_address ( ) const
inline

◆ get_granted_access()

dmi_access_e tlm::tlm_dmi::get_granted_access ( ) const
inline

Definition at line 63 of file dmi.hh.

References m_dmi_access.

◆ get_read_latency()

sc_core::sc_time tlm::tlm_dmi::get_read_latency ( ) const
inline

Definition at line 61 of file dmi.hh.

References m_dmi_read_latency.

Referenced by SimpleLTInitiator1_dmi::run(), and SimpleLTInitiator_ext::run().

◆ get_start_address()

sc_dt::uint64 tlm::tlm_dmi::get_start_address ( ) const
inline

◆ get_write_latency()

sc_core::sc_time tlm::tlm_dmi::get_write_latency ( ) const
inline

Definition at line 62 of file dmi.hh.

References m_dmi_write_latency.

Referenced by SimpleLTInitiator1_dmi::run(), and SimpleLTInitiator_ext::run().

◆ init()

void tlm::tlm_dmi::init ( )
inline

◆ is_none_allowed()

bool tlm::tlm_dmi::is_none_allowed ( ) const
inline

Definition at line 64 of file dmi.hh.

References DMI_ACCESS_NONE, and m_dmi_access.

◆ is_read_allowed()

bool tlm::tlm_dmi::is_read_allowed ( ) const
inline

Definition at line 66 of file dmi.hh.

References DMI_ACCESS_READ, and m_dmi_access.

Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor().

◆ is_read_write_allowed()

bool tlm::tlm_dmi::is_read_write_allowed ( ) const
inline

Definition at line 76 of file dmi.hh.

References DMI_ACCESS_READ_WRITE, and m_dmi_access.

Referenced by SimpleLTInitiator_ext::run().

◆ is_write_allowed()

bool tlm::tlm_dmi::is_write_allowed ( ) const
inline

◆ set_dmi_ptr()

void tlm::tlm_dmi::set_dmi_ptr ( unsigned char *  p)
inline

◆ set_end_address()

void tlm::tlm_dmi::set_end_address ( sc_dt::uint64  addr)
inline

◆ set_granted_access()

void tlm::tlm_dmi::set_granted_access ( dmi_access_e  a)
inline

Definition at line 86 of file dmi.hh.

References gem5::ArmISA::a, and m_dmi_access.

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

◆ set_read_latency()

void tlm::tlm_dmi::set_read_latency ( sc_core::sc_time  t)
inline

◆ set_start_address()

void tlm::tlm_dmi::set_start_address ( sc_dt::uint64  addr)
inline

◆ set_write_latency()

void tlm::tlm_dmi::set_write_latency ( sc_core::sc_time  t)
inline

Member Data Documentation

◆ m_dmi_access

dmi_access_e tlm::tlm_dmi::m_dmi_access
private

◆ m_dmi_end_address

sc_dt::uint64 tlm::tlm_dmi::m_dmi_end_address
private

Definition at line 106 of file dmi.hh.

Referenced by get_end_address(), init(), and set_end_address().

◆ m_dmi_ptr

unsigned char* tlm::tlm_dmi::m_dmi_ptr
private

Definition at line 98 of file dmi.hh.

Referenced by get_dmi_ptr(), init(), and set_dmi_ptr().

◆ m_dmi_read_latency

sc_core::sc_time tlm::tlm_dmi::m_dmi_read_latency
private

Definition at line 119 of file dmi.hh.

Referenced by get_read_latency(), init(), and set_read_latency().

◆ m_dmi_start_address

sc_dt::uint64 tlm::tlm_dmi::m_dmi_start_address
private

Definition at line 105 of file dmi.hh.

Referenced by get_start_address(), init(), and set_start_address().

◆ m_dmi_write_latency

sc_core::sc_time tlm::tlm_dmi::m_dmi_write_latency
private

Definition at line 120 of file dmi.hh.

Referenced by get_write_latency(), init(), and set_write_latency().


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

Generated on Wed Dec 21 2022 10:25:12 for gem5 by doxygen 1.9.1