42#include "debug/VIORng.hh"
43#include "params/VirtIORng.hh"
79 while ((
d = consumeDescriptor())) {
80 DPRINTF(VIORng,
"Got descriptor (len: %i)\n",
d->size());
84 d->chainWrite(
len, &
byte,
sizeof(uint8_t));
89 produceDescriptor(
d,
len);
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void makeResponse()
Take a request packet and modify it in place to be suitable for returning as a response to that reque...
This object is a proxy for a port or other object which implements the functional response protocol,...
VirtIO descriptor (chain) wrapper.
Base class for all VirtIO-based devices.
void registerQueue(VirtQueue &queue)
Register a new VirtQueue with the device model.
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.
Base wrapper around a virtqueue.
std::enable_if_t< std::is_integral_v< T >, T > random()
Use the SFINAE idiom to choose an implementation based on whether the type is integral or floating po...
ByteOrder byteOrder(const ThreadContext *tc)
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.