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

Public Member Functions

 cpu_arm_cortexA53 (const sc_core::sc_module_name &name, sc_core::sc_object *o)
 
 cpu_arm_cortexA53 (sc_core::sc_module_name name, QemuInstance &inst)
 
void before_end_of_elaboration () override
 
void end_of_elaboration () override
 
void initiator_customize_tlm_payload (TlmPayload &payload) override
 
void initiator_tidy_tlm_payload (TlmPayload &payload) override
 
- Public Member Functions inherited from QemuCpuArm
 QemuCpuArm (const sc_core::sc_module_name &name, QemuInstance &inst, const std::string &type_name)
 
qemu::CpuAarch64 get_cpu_aarch64 () const
 
void end_of_elaboration () override
 
void start_of_simulation () 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 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 ()
 

Public Attributes

cci::cci_param< unsigned intp_mp_affinity
 
cci::cci_param< boolp_has_el2
 
cci::cci_param< boolp_has_el3
 
cci::cci_param< boolp_start_powered_off
 
cci::cci_param< std::string > p_psci_conduit
 
cci::cci_param< uint64_tp_rvbar
 
cci::cci_param< uint64_tp_cntfrq_hz
 
QemuTargetSignalSocket irq_in
 
QemuTargetSignalSocket fiq_in
 
QemuTargetSignalSocket virq_in
 
QemuTargetSignalSocket vfiq_in
 
QemuInitiatorSignalSocket irq_timer_phys_out
 
QemuInitiatorSignalSocket irq_timer_virt_out
 
QemuInitiatorSignalSocket irq_timer_hyp_out
 
QemuInitiatorSignalSocket irq_timer_sec_out
 
- Public Attributes inherited from QemuCpu
cci::cci_param< unsigned intp_gdb_port
 
QemuInitiatorSocket socket
 
TargetSignalSocket< boolhalt
 
TargetSignalSocket< boolreset
 

Protected Member Functions

int get_psci_conduit_val () const
 
void add_exclusive_ext (TlmPayload &pl)
 
- 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 ()
 

Static Protected Member Functions

static uint64_t extract_data_from_payload (const TlmPayload &pl)
 

Additional Inherited Members

- Public Types inherited from QemuInitiatorIface
using TlmPayload = tlm::tlm_generic_payload
 
- Static Public Attributes inherited from QemuCpuArm
static constexpr qemu::Target ARCH = qemu::Target::AARCH64
 
- Protected Types inherited from QemuCpu
enum  { none , start_reset , hold_reset , finish_reset }
 
- 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 cpu_arm_cortexA53::before_end_of_elaboration ( )
inlineoverridevirtual

Reimplemented from QemuDevice.

◆ end_of_elaboration()

void cpu_arm_cortexA53::end_of_elaboration ( )
inlineoverridevirtual

Reimplemented from QemuCpu.

◆ initiator_customize_tlm_payload()

void cpu_arm_cortexA53::initiator_customize_tlm_payload ( TlmPayload &  payload)
inlineoverridevirtual

Reimplemented from QemuCpu.

◆ initiator_tidy_tlm_payload()

void cpu_arm_cortexA53::initiator_tidy_tlm_payload ( TlmPayload &  payload)
inlineoverridevirtual

Reimplemented from QemuCpu.


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