From a3685b0181ea4a71bd82fea11fa0e6df47b0cd93 Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Tue, 4 Jun 2013 10:08:21 +0200 Subject: [PATCH] dev: Clarify why updates are delayed when the MC14818 is activated --- src/dev/mc146818.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dev/mc146818.cc b/src/dev/mc146818.cc index abacd8742..81366b774 100644 --- a/src/dev/mc146818.cc +++ b/src/dev/mc146818.cc @@ -163,8 +163,10 @@ MC146818::writeData(const uint8_t addr, const uint8_t data) if (tickEvent.scheduled()) deschedule(tickEvent); } else if (rega_dv_disabled(old_rega)) { - // If the divider chain goes from reset to active, we - // need to schedule a tick after precisely 0.5s. + // According to the specification, the next tick + // happens after 0.5s when the divider chain goes + // from reset to active. So, we simply schedule the + // tick after 0.5s. assert(!tickEvent.scheduled()); schedule(tickEvent, curTick() + SimClock::Int::s / 2); }