Fixed bug in SPARC trap entry
authorAndrew Waterman <waterman@ros-dev.(none)>
Tue, 30 Mar 2010 04:55:50 +0000 (21:55 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:35:38 +0000 (17:35 -0700)
Condition codes were being clobbered by the kernel.  This
didn't show up until demand paging was added, because this
caused more random kernel crossings.

kern/arch/sparc/trap_entry.S

index e7b89ef..72a6bae 100644 (file)
@@ -52,6 +52,7 @@ handle_trap:
        mov     %l6,%sp
        mov     %l1,%o1
        mov     %l2,%o2
+       mov     %l0,%psr                        ! restore condition codes before saving trapframe
        call    env_save_tf
         add    %sp,64,%o0