Add the syscall number as the second parameter for the trap fault. This could be...
authorGabe Black <gblack@eecs.umich.edu>
Fri, 3 Nov 2006 15:56:47 +0000 (10:56 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 3 Nov 2006 15:56:47 +0000 (10:56 -0500)
--HG--
extra : convert_revision : 127a3673a076110fb3605c0fbc93e8d7e9fec84b

src/arch/sparc/isa/decoder.isa

index a5f43367d7b8436d4980beace9328d443791b509..33352cb2c05d163c64b84b6a758812541d038c53 100644 (file)
@@ -726,7 +726,7 @@ decode OP default Unknown::unknown()
 #if FULL_SYSTEM
                         int lTrapNum = I ? (Rs1 + SW_TRAP) : (Rs1 + Rs2);
                         DPRINTF(Sparc, "The trap number is %d\n", lTrapNum);
-                        fault = new TrapInstruction(lTrapNum);
+                        fault = new TrapInstruction(lTrapNum, R1);
 #else
                         DPRINTF(Sparc, "The syscall number is %d\n", R1);
                         xc->syscall(R1);
@@ -739,7 +739,7 @@ decode OP default Unknown::unknown()
 #if FULL_SYSTEM
                         int lTrapNum = I ? (Rs1 + SW_TRAP) : (Rs1 + Rs2);
                         DPRINTF(Sparc, "The trap number is %d\n", lTrapNum);
-                        fault = new TrapInstruction(lTrapNum);
+                        fault = new TrapInstruction(lTrapNum, R1);
 #else
                         DPRINTF(Sparc, "The syscall number is %d\n", R1);
                         xc->syscall(R1);