diff options
Diffstat (limited to 'src/dev/alpha')
-rw-r--r-- | src/dev/alpha/tsunami_io.cc | 11 | ||||
-rw-r--r-- | src/dev/alpha/tsunami_io.hh | 6 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/dev/alpha/tsunami_io.cc b/src/dev/alpha/tsunami_io.cc index c90f06b5a..1a76c2c32 100644 --- a/src/dev/alpha/tsunami_io.cc +++ b/src/dev/alpha/tsunami_io.cc @@ -249,6 +249,17 @@ TsunamiIO::clearPIC(uint8_t bitvector) } } +unsigned int +TsunamiIO::drain(Event *de) +{ + unsigned int count = 0; + count += pitimer.drain(de); + count += rtc.drain(de); + assert(count == 0); + changeState(SimObject::Drained); + return count; +} + void TsunamiIO::serialize(ostream &os) { diff --git a/src/dev/alpha/tsunami_io.hh b/src/dev/alpha/tsunami_io.hh index b6d63322b..f649247e2 100644 --- a/src/dev/alpha/tsunami_io.hh +++ b/src/dev/alpha/tsunami_io.hh @@ -141,6 +141,12 @@ class TsunamiIO : public BasicPioDevice void clearPIC(uint8_t bitvector); /** + * Drain the io state including all associated events. + * @param drainEvent + */ + unsigned int drain(Event *de); + + /** * Serialize this object to the given output stream. * @param os The stream to serialize to. */ |