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

Public Member Functions

 cpu_riscv64 (const sc_core::sc_module_name &name, sc_core::sc_object *o, uint64_t hartid)
 
 cpu_riscv64 (const sc_core::sc_module_name &n, QemuInstance &inst, uint64_t hartid)
 
- Public Member Functions inherited from QemuCpuRiscv64
 QemuCpuRiscv64 (const sc_core::sc_module_name &name, QemuInstance &inst, const char *model, uint64_t hartid)
 
void before_end_of_elaboration ()
 
- 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 halt_cb (const bool &val)
 
void reset_cb (const bool &val)
 
virtual void end_of_elaboration () override
 
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.
 
void set_qom_type (std::string const &qom_type)
 
const charget_qom_type () const
 
qemu::Device get_qemu_dev ()
 
QemuInstanceget_qemu_inst ()
 
void set_sysbus_as_parent_bus (void)
 
- Public Member Functions inherited from QemuDeviceBaseIF
 SCP_LOGGER ()
 

Additional Inherited Members

- Public Types inherited from QemuInitiatorIface
using TlmPayload = tlm::tlm_generic_payload
 
- Public Attributes inherited from QemuCpu
cci::cci_param< unsigned intp_gdb_port
 
QemuInitiatorSocket socket
 
TargetSignalSocket< boolhalt
 
TargetSignalSocket< boolreset
 
- Protected Types inherited from QemuCpu
enum  { none , start_reset , hold_reset , finish_reset }
 
- Protected Member Functions inherited from QemuCpuRiscv64
void mip_update_cb (uint32_t value)
 
- 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 QemuCpuRiscv64
uint64_t m_hartid
 
gs::async_event m_irq_ev
 
- 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
 

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