Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/sparc64/sparc64 sp_tlb_flush_pte for cheetah:



details:   https://anonhg.NetBSD.org/src/rev/b05db85b33b1
branches:  trunk
changeset: 749439:b05db85b33b1
user:      nakayama <nakayama%NetBSD.org@localhost>
date:      Mon Nov 30 05:22:55 2009 +0000

description:
sp_tlb_flush_pte for cheetah:
- restore interrupts properly in case of %tl > 0.

diffstat:

 sys/arch/sparc64/sparc64/locore.s |  12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

diffs (28 lines):

diff -r ac089864df81 -r b05db85b33b1 sys/arch/sparc64/sparc64/locore.s
--- a/sys/arch/sparc64/sparc64/locore.s Mon Nov 30 05:00:58 2009 +0000
+++ b/sys/arch/sparc64/sparc64/locore.s Mon Nov 30 05:22:55 2009 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.298 2009/11/30 01:58:49 mrg Exp $ */
+/*     $NetBSD: locore.s,v 1.299 2009/11/30 05:22:55 nakayama Exp $    */
 
 /*
  * Copyright (c) 1996-2002 Eduardo Horvath
@@ -5464,14 +5464,12 @@
 #endif
        flush   %o1
        stxa    %o5, [%o2] ASI_DMMU                     ! Restore primary context
-       brz,pt  %o3, 1f
+       brnz,pt %o3, 1f
         flush  %o1
+       wrpr    %g0, %o3, %tl                           ! Return to kernel mode.
+1:     
        retl
-        nop
-1:     
-       wrpr    %o4, %pstate                            ! restore interrupts
-       retl
-        wrpr   %g0, %o3, %tl                           ! Return to kernel mode.
+        wrpr   %o4, %pstate                            ! restore interrupts
 #endif
 
 



Home | Main Index | Thread Index | Old Index