gem5 v24.0.0.0
|
#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 |
|
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().
|
inline |
Definition at line 88 of file dmi.hh.
References DMI_ACCESS_READ, and m_dmi_access.
|
inline |
Definition at line 90 of file dmi.hh.
References DMI_ACCESS_READ_WRITE, and m_dmi_access.
Referenced by SimpleLTTarget1::get_direct_mem_ptr(), tlm_utils::passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::get_direct_mem_ptr(), tlm_utils::passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::process::get_direct_mem_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr(), SimpleLTTarget2::myGetDMIPtr(), and SimpleLTTarget_ext::myGetDMIPtr().
|
inline |
Definition at line 89 of file dmi.hh.
References DMI_ACCESS_WRITE, and m_dmi_access.
|
inline |
Definition at line 58 of file dmi.hh.
References m_dmi_ptr.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor(), SimpleLTInitiator1_dmi::run(), and SimpleLTInitiator_ext::run().
|
inline |
Definition at line 60 of file dmi.hh.
References m_dmi_end_address.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), SimpleLTInitiator1_dmi::run(), and SimpleLTInitiator_ext::run().
|
inline |
Definition at line 63 of file dmi.hh.
References m_dmi_access.
|
inline |
Definition at line 61 of file dmi.hh.
References m_dmi_read_latency.
Referenced by SimpleLTInitiator1_dmi::run(), and SimpleLTInitiator_ext::run().
|
inline |
Definition at line 59 of file dmi.hh.
References m_dmi_start_address.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), SimpleLTInitiator1_dmi::run(), and SimpleLTInitiator_ext::run().
|
inline |
Definition at line 62 of file dmi.hh.
References m_dmi_write_latency.
Referenced by SimpleLTInitiator1_dmi::run(), and SimpleLTInitiator_ext::run().
|
inline |
Definition at line 48 of file dmi.hh.
References DMI_ACCESS_NONE, m_dmi_access, m_dmi_end_address, m_dmi_ptr, m_dmi_read_latency, m_dmi_start_address, m_dmi_write_latency, and sc_core::SC_ZERO_TIME.
Referenced by SimpleLTInitiator1_dmi::run(), and tlm_dmi().
|
inline |
Definition at line 64 of file dmi.hh.
References DMI_ACCESS_NONE, and m_dmi_access.
|
inline |
Definition at line 66 of file dmi.hh.
References DMI_ACCESS_READ, and m_dmi_access.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor().
|
inline |
Definition at line 76 of file dmi.hh.
References DMI_ACCESS_READ_WRITE, and m_dmi_access.
Referenced by SimpleLTInitiator_ext::run().
|
inline |
Definition at line 71 of file dmi.hh.
References DMI_ACCESS_WRITE, and m_dmi_access.
Referenced by sc_gem5::Gem5ToTlmBridge< BITWIDTH >::getBackdoor(), and SimpleLTInitiator1_dmi::run().
|
inline |
Definition at line 81 of file dmi.hh.
References m_dmi_ptr.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr(), SimpleLTTarget1::get_direct_mem_ptr(), SimpleLTTarget2::myGetDMIPtr(), and SimpleLTTarget_ext::myGetDMIPtr().
|
inline |
Definition at line 83 of file dmi.hh.
References m_dmi_end_address.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr(), SimpleLTTarget1::get_direct_mem_ptr(), tlm_utils::callback_binder_fw< TYPES >::get_direct_mem_ptr(), tlm_utils::passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::get_direct_mem_ptr(), tlm_utils::passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::process::get_direct_mem_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleLTInitiator1_dmi::invalidate(), SimpleLTInitiator_ext::invalidate(), SimpleLTTarget2::myGetDMIPtr(), and SimpleLTTarget_ext::myGetDMIPtr().
|
inline |
Definition at line 86 of file dmi.hh.
References a, and m_dmi_access.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr().
|
inline |
Definition at line 84 of file dmi.hh.
References m_dmi_read_latency.
Referenced by SimpleLTTarget1::get_direct_mem_ptr(), SimpleLTTarget2::myGetDMIPtr(), and SimpleLTTarget_ext::myGetDMIPtr().
|
inline |
Definition at line 82 of file dmi.hh.
References m_dmi_start_address.
Referenced by sc_gem5::TlmToGem5Bridge< BITWIDTH >::get_direct_mem_ptr(), SimpleLTTarget1::get_direct_mem_ptr(), tlm_utils::callback_binder_fw< TYPES >::get_direct_mem_ptr(), tlm_utils::passthrough_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::process::get_direct_mem_ptr(), tlm_utils::passthrough_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::process::get_direct_mem_ptr(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::getDMIPointer(), SimpleLTInitiator1_dmi::invalidate(), SimpleLTInitiator_ext::invalidate(), SimpleLTTarget2::myGetDMIPtr(), and SimpleLTTarget_ext::myGetDMIPtr().
|
inline |
Definition at line 85 of file dmi.hh.
References m_dmi_write_latency.
Referenced by SimpleLTTarget1::get_direct_mem_ptr(), SimpleLTTarget2::myGetDMIPtr(), and SimpleLTTarget_ext::myGetDMIPtr().
|
private |
Definition at line 110 of file dmi.hh.
Referenced by allow_none(), allow_read(), allow_read_write(), allow_write(), get_granted_access(), init(), is_none_allowed(), is_read_allowed(), is_read_write_allowed(), is_write_allowed(), and set_granted_access().
|
private |
Definition at line 106 of file dmi.hh.
Referenced by get_end_address(), init(), and set_end_address().
|
private |
Definition at line 98 of file dmi.hh.
Referenced by get_dmi_ptr(), init(), and set_dmi_ptr().
|
private |
Definition at line 119 of file dmi.hh.
Referenced by get_read_latency(), init(), and set_read_latency().
|
private |
Definition at line 105 of file dmi.hh.
Referenced by get_start_address(), init(), and set_start_address().
|
private |
Definition at line 120 of file dmi.hh.
Referenced by get_write_latency(), init(), and set_write_latency().