40 #ifndef __DEV_VIRTIO_CONSOLE_HH__
41 #define __DEV_VIRTIO_CONSOLE_HH__
46 struct VirtIOConsoleParams;
155 #endif // __DEV_VIRTIO_CONSOLE_HH__
Base class for all VirtIO-based devices.
struct VirtIOConsole::Config M5_ATTR_PACKED
VirtIOConsole(Params *params)
TermTransQueue(PortProxy &proxy, uint16_t size, VirtIOConsole &_parent)
Virtqueue for data going from the guest to the host.
const Params * params() const
void onNotify()
Notify queue of pending events.
static const DeviceId ID_CONSOLE
VirtIO device ID.
Console configuration structure.
Config config
Currently active configuration (host byte order)
TermTransQueue qTrans
Transmit queue for port 0.
void readConfig(PacketPtr pkt, Addr cfgOffset)
Read from the configuration space of a device.
void onNotifyDescriptor(VirtDescriptor *desc)
Notify queue of pending incoming descriptor.
VirtIO descriptor (chain) wrapper.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
This object is a proxy for a structural port, to be used for debug accesses.
TermRecvQueue(PortProxy &proxy, uint16_t size, VirtIOConsole &_parent)
static const FeatureBits F_MULTIPORT
Supports the multi-port interface.
virtual const std::string name() const
uint16_t DeviceId
Device Type (sometimes known as subsystem ID)
TermRecvQueue qRecv
Receive queue for port 0.
MakeCallback< VirtIOConsole::TermRecvQueue,&VirtIOConsole::TermRecvQueue::trySend > callbackDataAvail
void trySend()
Try to send data pending data from the terminal.
VirtIOConsoleParams Params
static const FeatureBits F_SIZE
Provides the size information.
Virtqueue for data going from the host to the guest.
Helper template class to turn a simple class member function into a callback.
virtual ~TermTransQueue()
Base wrapper around a virtqueue.