diff options
author | Geoffrey Blake <Geoffrey.Blake@arm.com> | 2013-10-31 13:41:13 -0500 |
---|---|---|
committer | Geoffrey Blake <Geoffrey.Blake@arm.com> | 2013-10-31 13:41:13 -0500 |
commit | be4aa2b6ba0b70b13df2ad84a372320c5a7ea939 (patch) | |
tree | ff113f004f0efc3d9aaf708ead4c746ff4a7c8ae /src/sim/serialize.hh | |
parent | fb0496498d06def8e9b1b2ae2099b3013716b7dc (diff) | |
download | gem5-be4aa2b6ba0b70b13df2ad84a372320c5a7ea939.tar.xz |
dev: Fix race conditions in IDE device on newer kernels
Newer linux kernels and distros exercise more functionality in the IDE device
than previously, exposing 2 races. The first race is the handling of aborted
DMA commands would immediately report the device is ready back to the kernel
and cause already in flight commands to assert the simulator when they returned
and discovered an inconsitent device state. The second race was due to the
Status register not being handled correctly, the interrupt status bit would get
stuck at 1 and the driver eventually views this as a bad state and logs the
condition to the terminal. This patch fixes these two conditions by making the
device handle aborted commands gracefully and properly handles clearing the
interrupt status bit in the Status register.
Diffstat (limited to 'src/sim/serialize.hh')
-rw-r--r-- | src/sim/serialize.hh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sim/serialize.hh b/src/sim/serialize.hh index aedb2d1ae..46d3fe82c 100644 --- a/src/sim/serialize.hh +++ b/src/sim/serialize.hh @@ -57,7 +57,7 @@ class SimObject; * SimObject shouldn't cause the version number to increase, only changes to * existing objects such as serializing/unserializing more state, changing sizes * of serialized arrays, etc. */ -static const uint64_t gem5CheckpointVersion = 0x0000000000000006; +static const uint64_t gem5CheckpointVersion = 0x0000000000000007; template <class T> void paramOut(std::ostream &os, const std::string &name, const T ¶m); |