gem5  v21.1.0.2
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 46 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 71 of file dmi.hh.

Constructor & Destructor Documentation

◆ tlm_dmi()

tlm::tlm_dmi::tlm_dmi ( )
inline

Definition at line 79 of file dmi.hh.

Member Function Documentation

◆ allow_none()

void tlm::tlm_dmi::allow_none ( )
inline

Definition at line 121 of file dmi.hh.

◆ allow_read()

void tlm::tlm_dmi::allow_read ( )
inline

Definition at line 122 of file dmi.hh.

◆ allow_read_write()

void tlm::tlm_dmi::allow_read_write ( )
inline

Definition at line 124 of file dmi.hh.

◆ allow_write()

void tlm::tlm_dmi::allow_write ( )
inline

Definition at line 123 of file dmi.hh.

◆ 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 97 of file dmi.hh.

◆ get_read_latency()

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

Definition at line 95 of file dmi.hh.

Referenced by SimpleLTInitiator1_dmi::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 96 of file dmi.hh.

Referenced by SimpleLTInitiator1_dmi::run().

◆ init()

void tlm::tlm_dmi::init ( )
inline

Definition at line 82 of file dmi.hh.

References gem5::X86ISA::addr, and m_dmi_start_address.

◆ is_none_allowed()

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

Definition at line 98 of file dmi.hh.

◆ is_read_allowed()

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

Definition at line 100 of file dmi.hh.

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

◆ is_read_write_allowed()

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

Definition at line 110 of file dmi.hh.

◆ is_write_allowed()

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

Definition at line 105 of file dmi.hh.

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

◆ set_dmi_ptr()

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

Definition at line 115 of file dmi.hh.

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

◆ set_end_address()

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

Definition at line 117 of file dmi.hh.

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

◆ set_granted_access()

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

Definition at line 120 of file dmi.hh.

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

Definition at line 118 of file dmi.hh.

◆ set_start_address()

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

Definition at line 116 of file dmi.hh.

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

◆ set_write_latency()

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

Definition at line 119 of file dmi.hh.

Member Data Documentation

◆ m_dmi_access

dmi_access_e tlm::tlm_dmi::m_dmi_access
private

Definition at line 144 of file dmi.hh.

◆ m_dmi_end_address

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

Definition at line 140 of file dmi.hh.

◆ m_dmi_ptr

unsigned char* tlm::tlm_dmi::m_dmi_ptr
private

Definition at line 132 of file dmi.hh.

◆ m_dmi_read_latency

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

Definition at line 153 of file dmi.hh.

◆ m_dmi_start_address

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

Definition at line 139 of file dmi.hh.

Referenced by init().

◆ m_dmi_write_latency

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

Definition at line 154 of file dmi.hh.


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

Generated on Tue Sep 21 2021 12:35:23 for gem5 by doxygen 1.8.17