Go to the documentation of this file.
38 #ifndef __DEV_VIRTIO_BLOCK_HH__
39 #define __DEV_VIRTIO_BLOCK_HH__
44 struct VirtIOBlockParams;
142 size_t off_data,
size_t size);
154 size_t off_data,
size_t size);
184 #endif // __DEV_VIRTIO_BLOCK_HH__
RequestQueue(PortProxy &proxy, ByteOrder bo, uint16_t size, VirtIOBlock &_parent)
VirtIOBlock(Params *params)
Block device configuration structure.
static const Status S_OK
Request succeeded.
Base wrapper around a virtqueue.
RequestQueue qRequests
Device I/O request queue.
Status read(const BlkRequest &req, VirtDescriptor *desc_chain, size_t off_data, size_t size)
Device read request.
VirtIO block device request as sent by guest.
static const FeatureBits F_SIZE_MAX
static const RequestType T_FLUSH
Flush device buffers.
static const FeatureBits F_TOPOLOGY
Base class for all VirtIO-based devices.
uint16_t DeviceId
Device Type (sometimes known as subsystem ID)
DiskImage & image
Image backing this device.
Virtqueue for disk requests.
Basic interface for accessing a disk image.
Status write(const BlkRequest &req, VirtDescriptor *desc_chain, size_t off_data, size_t size)
Device write request.
static const RequestType T_IN
Read request.
static const RequestType T_OUT
Write request.
static const FeatureBits F_GEOMETRY
void readConfig(PacketPtr pkt, Addr cfgOffset)
Read from the configuration space of a device.
static const FeatureBits F_RO
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const Params * params() const
static const DeviceId ID_BLOCK
virtual const std::string name() const
static const FeatureBits F_BLK_SIZE
This object is a proxy for a port or other object which implements the functional response protocol,...
struct VirtIOBlock::Config M5_ATTR_PACKED
static const FeatureBits F_SEG_MAX
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
static const Status S_UNSUPP
Request not supported.
void onNotifyDescriptor(VirtDescriptor *desc)
Notify queue of pending incoming descriptor.
static const Status S_IOERR
Request failed due to a device error.
VirtIO descriptor (chain) wrapper.
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17