]> Git Repo - qemu.git/commitdiff
sparc64: fix tag access register on mmu traps
authorIgor V. Kovalenko <[email protected]>
Tue, 1 Jun 2010 20:12:22 +0000 (00:12 +0400)
committerBlue Swirl <[email protected]>
Wed, 2 Jun 2010 20:03:16 +0000 (20:03 +0000)
- set mmu tag access register on FAULT and PROT traps as well

Signed-off-by: Igor V. Kovalenko <[email protected]>
Signed-off-by: Blue Swirl <[email protected]>
target-sparc/helper.c

index 96a22f3475d6c890bacc81820096e6f30b773529..aa1fd632cc586bf35296a49d8c2274569b73a44f 100644 (file)
@@ -495,6 +495,9 @@ static int get_physical_address_data(CPUState *env,
             env->dmmu.sfsr |= (fault_type << 7);
 
             env->dmmu.sfar = address; /* Fault address register */
+
+            env->dmmu.tag_access = (address & ~0x1fffULL) | context;
+
             return 1;
         }
     }
@@ -544,6 +547,8 @@ static int get_physical_address_code(CPUState *env,
                 env->immu.sfsr |= (is_user << 3) | 1;
                 env->exception_index = TT_TFAULT;
 
+                env->immu.tag_access = (address & ~0x1fffULL) | context;
+
                 DPRINTF_MMU("TFAULT at %" PRIx64 " context %" PRIx64 "\n",
                             address, context);
 
This page took 0.029281 seconds and 4 git commands to generate.