38#ifndef __DEV_VIRTIO_CONSOLE_HH__
39#define __DEV_VIRTIO_CONSOLE_HH__
48struct VirtIOConsoleParams;
virtual std::string name() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
This object is a proxy for a port or other object which implements the functional response protocol,...
Base class for serial devices such as terminals.
VirtIO descriptor (chain) wrapper.
Virtqueue for data going from the host to the guest.
TermRecvQueue(PortProxy &proxy, ByteOrder bo, uint16_t size, VirtIOConsole &_parent)
void onNotify()
Notify queue of pending events.
void trySend()
Try to send data pending data from the terminal.
Virtqueue for data going from the guest to the host.
virtual ~TermTransQueue()
void onNotifyDescriptor(VirtDescriptor *desc)
Notify queue of pending incoming descriptor.
TermTransQueue(PortProxy &proxy, ByteOrder bo, uint16_t size, VirtIOConsole &_parent)
VirtIOConsole(const Params ¶ms)
VirtIOConsoleParams Params
TermRecvQueue qRecv
Receive queue for port 0.
Config config
Currently active configuration (host byte order)
static const FeatureBits F_MULTIPORT
Supports the multi-port interface.
static const FeatureBits F_SIZE
Provides the size information.
void readConfig(PacketPtr pkt, Addr cfgOffset)
Read from the configuration space of a device.
static const DeviceId ID_CONSOLE
VirtIO device ID.
TermTransQueue qTrans
Transmit queue for port 0.
Base class for all VirtIO-based devices.
uint16_t DeviceId
Device Type (sometimes known as subsystem ID)
Base wrapper around a virtqueue.
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Console configuration structure.