Skip to contentSkip to conversation

sparc32 fix MXCC error bit clearing

PATCH Applied Robert Reif 2 participants 2 messages Nov 15, 2007 – Nov 17, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sparc32 fix MXCC error bit clearing

Fix MXCC error register bit clearing.

Index: target-sparc/op_helper.c
===================================================================
RCS file: /sources/qemu/qemu/target-sparc/op_helper.c,v retrieving revision 1.52

op_helper.c +2 -4
diff -p -u -r1.52 op_helper.c
@@ -438,13 +446,11 @@ void helper_st_asi(int asi, int size)
                 DPRINTF_MXCC("%08x: unimplemented access size: %d\n", T0, size);
             break;
         case 0x01c00e00: /* MXCC error register  */
+            // writing a 1 bit clears the error
             if (size == 8)
-                env->mxccregs[6] = ((uint64_t)T1 << 32) | T2;
+                env->mxccregs[6] &= ~(((uint64_t)T1 << 32) | T2);
             else
                 DPRINTF_MXCC("%08x: unimplemented access size: %d\n", T0, size);
-            if (env->mxccregs[6] == 0xffffffffffffffffULL) {
-                // this is probably a reset
-            }
             break;
         case 0x01c00f00: /* MBus port address register */
             if (size == 8)
Applied
#1 lore raw
Quoted 1 line · Robert Reif

Fix MXCC error register bit clearing.

Thanks, applied.