quic/qbox
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
QemuDevice Class Reference

QEMU device abstraction as a SystemC module. More...

#include <device.h>

Inheritance diagram for QemuDevice:
Inheritance graph
[legend]
Collaboration diagram for QemuDevice:
Collaboration graph
[legend]

Public Member Functions

void instantiate ()
 
void realize ()
 
 QemuDevice (const sc_core::sc_module_name &name, QemuInstance &inst, const char *qom_type)
 Construct a QEMU device.
 
virtual void before_end_of_elaboration () override
 
virtual void end_of_elaboration () override
 
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
virtual bool can_run ()
 
 SCP_LOGGER ()
 

Protected Attributes

QemuInstancem_inst
 
qemu::Device m_dev
 
bool m_instanciated = false
 
bool m_realized = false
 

Detailed Description

QEMU device abstraction as a SystemC module.

This class abstract a QEMU device as a SystemC module. It is constructed using the QEMU instance it will lie in, and the QOM type name corresponding to the device. This class is meant to be inherited from by children classes that implement a given device.

The elaboration flow is as follows:

Constructor & Destructor Documentation

◆ QemuDevice()

QemuDevice::QemuDevice ( const sc_core::sc_module_name &  name,
QemuInstance inst,
const char qom_type 
)
inline

Construct a QEMU device.

Parameters
[in]nameSystemC module name
[in]instQEMU instance the device will be created in
[in]qom_typeDevice QOM type name

Member Function Documentation

◆ end_of_elaboration()

virtual void QemuDevice::end_of_elaboration ( )
inlineoverridevirtual

Reimplemented in qemu_xhci::Device.


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