summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-11-03 10:56:47 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-11-03 10:56:47 -0500
commitab651344dda9ba09c1c3e1855a5bbc250bdc5ea0 (patch)
treea41c1d34194cced374fc277108598863f3e7cb4f
parente6fed44625802bd185cfbbf9808624f792637d43 (diff)
downloadgem5-ab651344dda9ba09c1c3e1855a5bbc250bdc5ea0.tar.xz
Add the syscall number as the second parameter for the trap fault. This could be improved and syscalls could be called from the trap's invoke method.
--HG-- extra : convert_revision : 127a3673a076110fb3605c0fbc93e8d7e9fec84b
-rw-r--r--src/arch/sparc/isa/decoder.isa4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/sparc/isa/decoder.isa b/src/arch/sparc/isa/decoder.isa
index a5f43367d..33352cb2c 100644
--- a/src/arch/sparc/isa/decoder.isa
+++ b/src/arch/sparc/isa/decoder.isa
@@ -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);