quic/qbox
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
qemu_cpu_hexagon Class Reference
Inheritance diagram for qemu_cpu_hexagon:
Inheritance graph
[legend]
Collaboration diagram for qemu_cpu_hexagon:
Collaboration graph
[legend]

Public Types

enum  Rev_t {
  v66_rev = 0xa666 , v68_rev = 0x8d68 , v69_rev = 0x8c69 , v73_rev = 0x8c73 ,
  v79_rev = 0x8c79 , v81_rev = 0x8781
}
 
- Public Types inherited from QemuInitiatorIface
using TlmPayload = tlm::tlm_generic_payload
 

Public Member Functions

 qemu_cpu_hexagon (const sc_core::sc_module_name &name, sc_core::sc_object *o)
 
 qemu_cpu_hexagon (const sc_core::sc_module_name &name, QemuInstance &inst)
 
void before_end_of_elaboration () override
 
qemu::CpuHexagon get_cpu_hexagon () const
 
void end_of_elaboration () override
 
- Public Member Functions inherited from QemuCpu
 QemuCpu (const sc_core::sc_module_name &name, QemuInstance &inst, const std::string &type_name)
 
void end_of_simulation () override
 
bool can_run () override
 
void before_end_of_elaboration () override
 
void halt_cb (const bool &val)
 
void reset_cb (const bool &val)
 
virtual void start_of_simulation () override
 
virtual void initiator_customize_tlm_payload (TlmPayload &payload) override
 
virtual void initiator_tidy_tlm_payload (TlmPayload &payload) override
 
virtual sc_core::sc_time initiator_get_local_time () override
 
virtual void initiator_set_local_time (const sc_core::sc_time &t) override
 
virtual void initiator_async_run (qemu::Cpu::AsyncJobFn job) override
 
- Public Member Functions inherited from QemuDevice
void instantiate ()
 
void realize ()
 
 QemuDevice (const sc_core::sc_module_name &name, QemuInstance &inst, const char *qom_type)
 Construct a QEMU device.
 
 QemuDevice (const sc_core::sc_module_name &name, QemuInstance &inst, const char *qom_type, const char *id)
 Construct a QEMU device.
 
void set_qom_type (std::string const &qom_type)
 
const charget_qom_type () const
 
const charget_id () const
 
qemu::Device get_qemu_dev ()
 
QemuInstanceget_qemu_inst ()
 
void set_sysbus_as_parent_bus (void)
 
- Public Member Functions inherited from QemuDeviceBaseIF
 SCP_LOGGER ()
 

Public Attributes

const std::map< std::string, Rev_t > DSP_REVS
 
sc_core::sc_vector< QemuTargetSignalSocketirq_in
 
cci::cci_param< uint64_tp_cfgbase
 
cci::cci_param< uint32_tp_l2vic_base_addr
 
cci::cci_param< uint32_tp_qtimer_base_addr
 
cci::cci_param< uint32_tp_exec_start_addr
 
cci::cci_param< boolp_vp_mode
 
cci::cci_param< boolp_semihosting
 
cci::cci_param< boolp_start_powered_off
 
cci::cci_param< boolp_sched_limit
 
cci::cci_param< boolp_paranoid
 
cci::cci_param< std::string > p_dsp_arch
 
cci::cci_param< uint32_tp_subsystem_id
 
cci::cci_param< uint32_tp_hexagon_num_threads
 
cci::cci_param< boolp_isdben_trusted
 
cci::cci_param< boolp_isdben_secure
 
cci::cci_param< std::string > p_coproc
 
cci::cci_param< std::string > p_cmdline
 
cci::cci_param< uint64_tp_vtcm_base_addr
 
cci::cci_param< uint32_tp_vtcm_size_kb
 
cci::cci_param< uint32_tp_num_coproc_instance
 
cci::cci_param< uint32_tp_hvx_contexts
 
cci::cci_param< uint32_tp_num_tlbs
 
cci::cci_param< uint32_tp_num_dma_tlbs
 
- Public Attributes inherited from QemuCpu
cci::cci_param< unsigned intp_gdb_port
 
QemuInitiatorSocket socket
 
TargetSignalSocket< boolhalt
 
TargetSignalSocket< boolreset
 

Static Public Attributes

static constexpr qemu::Target ARCH = qemu::Target::HEXAGON
 

Additional Inherited Members

- Protected Types inherited from QemuCpu
enum  { none , start_reset , hold_reset , finish_reset }
 
- Protected Member Functions inherited from QemuCpu
void create_quantum_keeper ()
 
void set_coroutine_mode ()
 
void set_signaled ()
 
void watch_external_ev ()
 
void kick_cb ()
 
void deadline_timer_cb ()
 
void wait_for_work ()
 
void rearm_deadline_timer ()
 
void prepare_run_cpu ()
 
void run_cpu_loop ()
 
void sync_with_kernel ()
 
void end_of_loop_cb ()
 
void mainloop_thread_coroutine ()
 
- Protected Attributes inherited from QemuCpu
gs::runonsysc m_on_sysc
 
std::shared_ptr< qemu::Timerm_deadline_timer
 
bool m_coroutines
 
qemu::Cpu m_cpu
 
gs::async_event m_qemu_kick_ev
 
sc_core::sc_event_or_list m_external_ev
 
sc_core::sc_process_handle m_sc_thread
 
std::atomic< boolm_signaled
 
std::mutex m_signaled_lock
 
std::condition_variable m_signaled_cond
 
std::shared_ptr< gs::tlm_quantumkeeper_extendedm_qk
 
std::atomic< boolm_finished = false
 
std::atomic< boolm_started = false
 
enum QemuCpu:: { ... }  m_resetting = none
 
gs::async_event m_start_reset_done_ev
 
std::mutex m_can_delete
 
QemuCpuHintTlmExtension m_cpu_hint_ext
 
uint64_t m_quantum_ns
 
- Protected Attributes inherited from QemuDevice
QemuInstancem_inst
 
qemu::Device m_dev
 
bool m_instanciated = false
 
bool m_realized = false
 

Member Function Documentation

◆ before_end_of_elaboration()

void qemu_cpu_hexagon::before_end_of_elaboration ( )
inlineoverridevirtual

Reimplemented from QemuDevice.

◆ end_of_elaboration()

void qemu_cpu_hexagon::end_of_elaboration ( )
inlineoverridevirtual

Reimplemented from QemuCpu.

Member Data Documentation

◆ DSP_REVS

const std::map<std::string, Rev_t> qemu_cpu_hexagon::DSP_REVS
Initial value:
= {
DSP_REV(v66), DSP_REV(v68), DSP_REV(v69), DSP_REV(v73), DSP_REV(v79), DSP_REV(v81)
}
Definition target.h:160

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