|
quic/qbox
|


Public Member Functions | |
| cpu_riscv32 (const sc_core::sc_module_name &name, sc_core::sc_object *o, uint64_t hartid) | |
| cpu_riscv32 (const sc_core::sc_module_name &n, QemuInstance &inst, uint64_t hartid) | |
| cpu_riscv32 (const sc_core::sc_module_name &n, QemuInstance &inst) | |
Public Member Functions inherited from QemuCpuRiscv32 | |
| QemuCpuRiscv32 (const sc_core::sc_module_name &name, QemuInstance &inst, const char *model, uint64_t hartid) | |
| void | before_end_of_elaboration () |
| 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 | 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 () |
| void | unrealize () |
| 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 char * | get_qom_type () const |
| const char * | get_id () const |
| void | set_id (const std::string &nm) |
| qemu::Device | get_qemu_dev () |
| QemuInstance & | get_qemu_inst () |
| void | set_sysbus_as_parent_bus (void) |
Public Member Functions inherited from QemuDeviceBaseIF | |
| SCP_LOGGER () | |
Static Public Attributes | |
| static constexpr qemu::Target | ARCH = qemu::Target::RISCV32 |
Additional Inherited Members | |
Public Types inherited from QemuInitiatorIface | |
| using | TlmPayload = tlm::tlm_generic_payload |
Public Attributes inherited from QemuCpuRiscv32 | |
| sc_core::sc_vector< QemuTargetSignalSocket > | irq_in |
| cci::cci_param< uint64_t > | p_hartid |
| cci::cci_param< bool > | p_debug |
| cci::cci_param< bool > | p_pmp |
| cci::cci_param< bool > | p_mmu |
| cci::cci_param< std::string > | p_priv_spec |
| cci::cci_param< uint64_t > | p_cbom_blocksize |
| cci::cci_param< uint64_t > | p_cbop_blocksize |
| cci::cci_param< uint64_t > | p_cboz_blocksize |
| cci::cci_param< uint64_t > | p_mvendorid |
| cci::cci_param< uint64_t > | p_mimpid |
| cci::cci_param< uint64_t > | p_marchid |
| cci::cci_param< uint64_t > | p_resetvec |
Public Attributes inherited from QemuCpu | |
| cci::cci_param< unsigned int > | p_gdb_port |
| QemuInitiatorSocket | socket |
| TargetSignalSocket< bool > | halt |
| TargetSignalSocket< bool > | reset |
Protected Types inherited from QemuCpu | |
| enum | { none , start_reset , hold_reset , finish_reset } |
Protected Member Functions inherited from QemuCpuRiscv32 | |
| void | mip_update_cb (uint32_t value) |
Protected Member Functions inherited from QemuCpu | |
| qemu::Cpu::AsyncJobFn | make_tracked_async_job (qemu::Cpu::AsyncJobFn job) |
| 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 QemuCpuRiscv32 | |
| uint64_t | m_hartid |
| gs::async_event | m_irq_ev |
Protected Attributes inherited from QemuCpu | |
| gs::runonsysc | m_on_sysc |
| std::shared_ptr< qemu::Timer > | m_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< bool > | m_signaled |
| std::mutex | m_signaled_lock |
| std::condition_variable | m_signaled_cond |
| std::shared_ptr< gs::tlm_quantumkeeper_extended > | m_qk |
| std::atomic< bool > | m_finished = false |
| std::atomic< bool > | m_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 |
| std::atomic< int > | m_async_work_outstanding { 0 } |
| std::mutex | m_async_work_mutex |
| std::condition_variable | m_async_work_cv |
Protected Attributes inherited from QemuDevice | |
| QemuInstance & | m_inst |
| qemu::Device | m_dev |
| bool | m_instanciated = false |
| bool | m_realized = false |
Static Protected Attributes inherited from QemuCpu | |
| static constexpr int | ASYNC_WORK_TIMEOUT_MS = 500 |