aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-17 08:19:57 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2007-11-17 08:19:57 +0000
commitbbf7d96b451ea3b6339520b974793f121cfd2c19 (patch)
treeabe37bc424c0b8884eb59d3895367d600235c37a
parent295db11371adb11d1117446e79162bbe5ebd046a (diff)
downloadqemu-bbf7d96b451ea3b6339520b974793f121cfd2c19.zip
qemu-bbf7d96b451ea3b6339520b974793f121cfd2c19.tar.gz
qemu-bbf7d96b451ea3b6339520b974793f121cfd2c19.tar.bz2
Fix MXCC error register (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3662 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-sparc/op_helper.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c
index 9409052..5eebd83 100644
--- a/target-sparc/op_helper.c
+++ b/target-sparc/op_helper.c
@@ -446,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)