diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2006-11-03 10:56:47 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2006-11-03 10:56:47 -0500 |
commit | ab651344dda9ba09c1c3e1855a5bbc250bdc5ea0 (patch) | |
tree | a41c1d34194cced374fc277108598863f3e7cb4f /src | |
parent | e6fed44625802bd185cfbbf9808624f792637d43 (diff) | |
download | gem5-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
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/sparc/isa/decoder.isa | 4 |
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); |