gem5/src/sim
Gabe Black 3f722b991f Syscalls: Make system calls access arguments like a stack, not an array.
When accessing arguments for a syscall, the position of an argument depends on
the policies of the ISA, how much space preceding arguments took up, and the
"alignment" of the index for this particular argument into the number of
possible storate locations. This change adjusts getSyscallArg to take its
index parameter by reference instead of value and to adjust it to point to the
possible location of the next argument on the stack, basically just after the
current one. This way, the rules for the new argument can be applied locally
without knowing about other arguments since those have already been taken into
account implicitly.

All system calls have also been changed to reflect the new interface. In a
number of cases this made the implementation clearer since it encourages
arguments to be collected in one place in order and then used as necessary
later, as opposed to scattering them throughout the function or using them in
place in long expressions. It also discourages using getSyscallArg over and
over to retrieve the same value when a temporary would do the job.
2009-10-30 00:44:55 -07:00
..
arguments.cc arch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh 2009-09-23 08:34:21 -07:00
arguments.hh includes: sort includes again 2009-05-17 14:34:52 -07:00
async.cc Factor code out of main.cc and main.i into a bunch of files 2007-03-02 22:24:00 -08:00
async.hh style: Remove non-leading tabs everywhere they shouldn't be. Developers should configure their editors to not insert tabs 2008-09-10 14:26:15 -04:00
BaseTLB.py TLB: Make all tlbs derive from a common base class in both python and C++. 2008-10-10 23:47:42 -07:00
byteswap.hh types: Move stuff for global types into src/base/types.hh 2009-05-17 14:34:50 -07:00
core.cc Get rid of outputStream... wasn't really being used 2008-08-04 01:45:12 -04:00
core.hh types: Move stuff for global types into src/base/types.hh 2009-05-17 14:34:50 -07:00
debug.cc debug: Move debug_break into src/base 2009-02-23 11:48:40 -08:00
debug.hh types: Move stuff for global types into src/base/types.hh 2009-05-17 14:34:50 -07:00
eventq.cc eventq: Add some debugging code to the eventq. 2008-12-08 07:17:48 -08:00
eventq.hh includes: sort includes again 2009-05-17 14:34:52 -07:00
faults.cc put the flattenIndex stuff back in O3 AND put fatal() back in faults 2007-11-15 16:38:09 -05:00
faults.hh stats: Fix all stats usages to deal with template fixes 2009-03-05 19:09:53 -08:00
init.cc types: clean up types, especially signed vs unsigned 2009-06-04 23:21:12 -07:00
init.hh libm5: Create a libm5 static library for embedding m5. 2008-08-03 18:19:54 -07:00
insttracer.hh Tracing: Add accessors so tracers can get at data in trace records. 2009-07-19 23:54:31 -07:00
InstTracer.py SimObjects: Clean up handling of C++ namespaces. 2008-10-09 22:19:39 -07:00
main.cc libm5: Create a libm5 static library for embedding m5. 2008-08-03 18:19:54 -07:00
microcode_rom.hh CPU: Create a microcode ROM object in the CPU which is defined by the ISA. 2008-10-12 15:59:21 -07:00
process.cc Syscalls: Make system calls access arguments like a stack, not an array. 2009-10-30 00:44:55 -07:00
process.hh Syscalls: Make system calls access arguments like a stack, not an array. 2009-10-30 00:44:55 -07:00
Process.py process: separate stderr from stdout 2008-07-23 14:41:34 -07:00
process_impl.hh types: clean up types, especially signed vs unsigned 2009-06-04 23:21:12 -07:00
pseudo_inst.cc arch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh 2009-09-23 08:34:21 -07:00
pseudo_inst.hh types: Move stuff for global types into src/base/types.hh 2009-05-17 14:34:50 -07:00
root.cc Major changes to how SimObjects are created and initialized. Almost all 2007-07-23 21:51:38 -07:00
Root.py Move SimObject python files alongside the C++ and fix 2007-05-27 19:21:17 -07:00
SConscript scons: re-work the *Source functions to take more information. 2009-05-04 16:58:24 -07:00
serialize.cc types: clean up types, especially signed vs unsigned 2009-06-04 23:21:12 -07:00
serialize.hh types: clean up types, especially signed vs unsigned 2009-06-04 23:21:12 -07:00
sim_events.cc eventq: convert all usage of events to use the new API. 2008-10-09 04:58:24 -07:00
sim_events.hh eventq: convert all usage of events to use the new API. 2008-10-09 04:58:24 -07:00
sim_exit.hh types: Move stuff for global types into src/base/types.hh 2009-05-17 14:34:50 -07:00
sim_object.cc includes: sort includes again 2009-05-17 14:34:52 -07:00
sim_object.hh eventq: Major API change for the Event and EventQueue structures. 2008-10-09 04:58:23 -07:00
sim_object_params.hh eventq: convert all usage of events to use the new API. 2008-10-09 04:58:24 -07:00
simulate.cc includes: sort includes again 2009-05-17 14:34:52 -07:00
simulate.hh types: Move stuff for global types into src/base/types.hh 2009-05-17 14:34:50 -07:00
startup.cc Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
startup.hh Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
stat_control.cc stats: cleanup static stats to make startup work. 2009-02-23 12:03:06 -08:00
stat_control.hh Get rid of the Statistics and Statreset ParamContexts, and 2007-02-17 22:52:32 -08:00
stats.hh stats: cleanup static stats to make startup work. 2009-02-23 12:03:06 -08:00
syscall_emul.cc Syscalls: Make system calls access arguments like a stack, not an array. 2009-10-30 00:44:55 -07:00
syscall_emul.hh Syscalls: Make system calls access arguments like a stack, not an array. 2009-10-30 00:44:55 -07:00
syscallreturn.hh includes: use base/types.hh not inttypes.h or stdint.h 2009-05-17 14:34:51 -07:00
system.cc arch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh 2009-09-23 08:34:21 -07:00
system.hh arch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh 2009-09-23 08:34:21 -07:00
System.py python: Move more code into m5.util allow SCons to use that code. 2009-09-22 15:24:16 -07:00
tlb.cc tlb: More fixing of unified TLB 2009-04-08 22:21:27 -07:00
tlb.hh tlb: More fixing of unified TLB 2009-04-08 22:21:27 -07:00
vptr.hh Remove delVirtPort() and make getVirtPort() only return cached version. 2008-07-01 10:25:07 -04:00