39#ifndef __DEV_VIRTIO_RNG_HH__
40#define __DEV_VIRTIO_RNG_HH__
49struct VirtIORngParams;
86 std::string
name()
const {
return parent.name() +
".qRecv"; }
This object is a proxy for a port or other object which implements the functional response protocol,...
static RandomPtr genRandom(Random *r=nullptr)
std::shared_ptr< Random > RandomPtr
VirtIODeviceBase(const Params ¶ms, DeviceId id, size_t config_size, FeatureBits features)
uint16_t DeviceId
Device Type (sometimes known as subsystem ID)
Virtqueue for data going from the host to the guest.
void onNotify()
Notify queue of pending events.
RngQueue(PortProxy &proxy, ByteOrder bo, uint16_t size, VirtIORng &_parent)
void trySend()
Try to send data pending data from the terminal.
RngQueue qReq
Receive queue for port 0.
VirtIORng(const Params ¶ms)
void readConfig(PacketPtr pkt, Addr cfgOffset)
Read from the configuration space of a device.
static const DeviceId ID_RNG
VirtIO device ID.
VirtQueue(PortProxy &proxy, ByteOrder bo, uint16_t size)
Instantiate a new virtqueue.
const Params & params() const
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.