Go to the documentation of this file.
36 #include "debug/IsaFake.hh"
57 if (
params()->warn_access !=
"")
58 warn(
"Device %s accessed by read to address %#x size=%d\n",
60 if (
params()->ret_bad_addr) {
69 case sizeof(uint64_t):
72 case sizeof(uint32_t):
75 case sizeof(uint16_t):
85 panic(
"invalid access size! Device being accessed by cache?\n");
95 if (
params()->warn_access !=
"") {
98 case sizeof(uint64_t):
101 case sizeof(uint32_t):
104 case sizeof(uint16_t):
107 case sizeof(uint8_t):
113 warn(
"Device %s accessed by write to address %#x size=%d data=%#x\n",
116 if (
params()->ret_bad_addr) {
124 if (
params()->update_data) {
126 case sizeof(uint64_t):
129 case sizeof(uint32_t):
132 case sizeof(uint16_t):
135 case sizeof(uint8_t):
139 panic(
"invalid access size!\n");
147 IsaFakeParams::create()
void makeAtomicResponse()
Addr pioAddr
Address that the device listens to.
uint64_t Tick
Tick count type.
const Params * params() const
IsaFake(Params *p)
The constructor for Isa Fake just registers itself with the MMU.
virtual Tick read(PacketPtr pkt)
This read always returns -1.
virtual Tick write(PacketPtr pkt)
All writes are simply ignored.
Addr pioSize
Size that the device's address range.
IsaFake is a device that returns, BadAddr, 1 or 0 on all reads and rites.
virtual const std::string name() const
T getLE() const
Get the data in the packet byte swapped from little endian to host endian.
Overload hash function for BasicBlockRange type.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Tick pioDelay
Delay that the device experinces on an access.
void setLE(T v)
Set the value in the data pointer to v as little endian.
T * getPtr()
get a pointer to the data ptr.
#define panic(...)
This implements a cprintf based panic() function.
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17