43 panic(
"Read from i8237 channel 0 current address unimplemented.\n");
45 panic(
"Read from i8237 channel 0 remaining "
46 "word count unimplemented.\n");
48 panic(
"Read from i8237 channel 1 current address unimplemented.\n");
50 panic(
"Read from i8237 channel 1 remaining "
51 "word count unimplemented.\n");
53 panic(
"Read from i8237 channel 2 current address unimplemented.\n");
55 panic(
"Read from i8237 channel 2 remaining "
56 "word count unimplemented.\n");
58 panic(
"Read from i8237 channel 3 current address unimplemented.\n");
60 panic(
"Read from i8237 channel 3 remaining "
61 "word count unimplemented.\n");
63 panic(
"Read from i8237 status register unimplemented.\n");
65 panic(
"Read from undefined i8237 register %d.\n", offset);
78 panic(
"Write to i8237 channel 0 starting address unimplemented.\n");
80 panic(
"Write to i8237 channel 0 starting "
81 "word count unimplemented.\n");
83 panic(
"Write to i8237 channel 1 starting address unimplemented.\n");
85 panic(
"Write to i8237 channel 1 starting "
86 "word count unimplemented.\n");
88 panic(
"Write to i8237 channel 2 starting address unimplemented.\n");
90 panic(
"Write to i8237 channel 2 starting "
91 "word count unimplemented.\n");
93 panic(
"Write to i8237 channel 3 starting address unimplemented.\n");
95 panic(
"Write to i8237 channel 3 starting "
96 "word count unimplemented.\n");
98 panic(
"Write to i8237 command register unimplemented.\n");
100 panic(
"Write to i8237 request register unimplemented.\n");
103 uint8_t command = pkt->
get<uint8_t>();
104 uint8_t select =
bits(command, 1, 0);
105 uint8_t bitVal =
bits(command, 2);
107 panic(
"Turning on i8237 channels unimplemented.\n");
112 panic(
"Write to i8237 mode register unimplemented.\n");
114 panic(
"Write to i8237 clear LSB/MSB flip-flop "
115 "register unimplemented.\n");
117 panic(
"Write to i8237 master clear/reset register unimplemented.\n");
119 panic(
"Write to i8237 clear mask register unimplemented.\n");
121 panic(
"Write to i8237 write all mask register bits unimplemented.\n");
123 panic(
"Write to undefined i8237 register.\n");
142 I8237Params::create()
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
void serialize(CheckpointOut &cp) const override
Serialize an object.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
T get(ByteOrder endian) const
Get the data in the packet byte swapped from the specified endianness.
#define UNSERIALIZE_SCALAR(scalar)
void makeAtomicResponse()
uint64_t Tick
Tick count type.
void replaceBits(T &val, int first, int last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
#define SERIALIZE_SCALAR(scalar)
Declaration of the Packet class.
std::ostream CheckpointOut
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
T bits(T val, int first, int last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it...
Addr pioAddr
Address that the device listens to.