You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the first call b_transport process, the systemc module can set the trans if it can be dmi_enable. If it is true, cpu will call get_mem_ptr func to access the memory directly.
`void do_regular_access(TlmPayload& trans)
{
using sc_core::sc_time;
uint64_t addr = trans.get_address();
sc_time now = m_initiator.initiator_get_local_time();
m_inst.get().unlock_iothread();
m_on_sysc.run_on_sysc([this, &trans, &now] { (*this)->b_transport(trans, now); });
m_inst.get().lock_iothread();
/*
* Reset transaction address before dmi check (could be altered by
* b_transport).
*/
trans.set_address(addr);
check_qemu_mr_hint(trans);
if (trans.is_dmi_allowed()) {
check_dmi_hint_locked(trans);
}
m_initiator.initiator_set_local_time(now);
}`
`void do_regular_access(TlmPayload& trans)
{
using sc_core::sc_time;
Is my undstanding right?
Originally posted by @alpha-beta-user in #15 (comment)
The text was updated successfully, but these errors were encountered: