From: Gabe Black Date: Fri, 3 Nov 2006 15:56:47 +0000 (-0500) Subject: Add the syscall number as the second parameter for the trap fault. This could be... X-Git-Tag: m5_2.0_beta2~53^2~60 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ab651344dda9ba09c1c3e1855a5bbc250bdc5ea0;p=gem5.git 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 --- 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);