changeset 624566640d7c in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=624566640d7c
description:
        Dev: Make the RTC device ignore writes to a read only bit.

diffstat:

1 file changed, 4 insertions(+), 2 deletions(-)
src/dev/mc146818.cc |    6 ++++--

diffs (24 lines):

diff -r d12ff89c7692 -r 624566640d7c src/dev/mc146818.cc
--- a/src/dev/mc146818.cc       Sun Jan 25 20:31:17 2009 -0800
+++ b/src/dev/mc146818.cc       Sun Jan 25 20:32:26 2009 -0800
@@ -35,6 +35,7 @@
 
 #include <string>
 
+#include "base/bitfield.hh"
 #include "base/time.hh"
 #include "base/trace.hh"
 #include "dev/mc146818.hh"
@@ -87,9 +88,10 @@
     else {
         switch (addr) {
           case RTC_STAT_REGA:
-            if (data != (RTCA_32768HZ | RTCA_1024HZ))
+            // The "update in progress" bit is read only.
+            if ((data & ~RTCA_UIP) != (RTCA_32768HZ | RTCA_1024HZ))
                 panic("Unimplemented RTC register A value write!\n");
-            stat_regA = data;
+            replaceBits(stat_regA, data, 6, 0);
             break;
           case RTC_STAT_REGB:
             if ((data & ~(RTCB_PRDC_IE | RTCB_SQWE)) != (RTCB_BIN | RTCB_24HR))
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to