summaryrefslogtreecommitdiff
path: root/src/arch/sparc/linux/process.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-03-09 17:14:24 -0500
committerGabe Black <gblack@eecs.umich.edu>2007-03-09 17:14:24 -0500
commit03ff1c31678dbc292f7885fef9c6cd3f58a2989b (patch)
tree803eb133631bc8da3696cd23d695adaf4bd042f0 /src/arch/sparc/linux/process.hh
parentc40d95e4c470ba585316d85cb67d36f5ca9e0bd0 (diff)
downloadgem5-03ff1c31678dbc292f7885fef9c6cd3f58a2989b.tar.xz
Split the syscall table, SPARC specific syscall implementations, and the 32 bit syscall table into it's own file. Corrected problems with the stat structure. These should be tested on 64 bit x86 and SPARC machines.
--HG-- extra : convert_revision : 5d9fe19e031b92e111069c6b89c3dbeb29975b8a
Diffstat (limited to 'src/arch/sparc/linux/process.hh')
-rw-r--r--src/arch/sparc/linux/process.hh8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/arch/sparc/linux/process.hh b/src/arch/sparc/linux/process.hh
index e3373bb6b..6c7f30a43 100644
--- a/src/arch/sparc/linux/process.hh
+++ b/src/arch/sparc/linux/process.hh
@@ -49,9 +49,15 @@ class SparcLinuxProcess
/// Array of syscall descriptors, indexed by call number.
static SyscallDesc syscallDescs[];
+ /// Array of 32 bit compatibility syscall descriptors,
+ /// indexed by call number.
+ static SyscallDesc syscall32Descs[];
+
SyscallDesc* getDesc(int callnum);
+ SyscallDesc* getDesc32(int callnum);
const int Num_Syscall_Descs;
+ const int Num_Syscall32_Descs;
};
/// A process with emulated SPARC/Linux syscalls.
@@ -72,7 +78,7 @@ class Sparc32LinuxProcess : public SparcLinuxProcess, public Sparc32LiveProcess
SyscallDesc* getDesc(int callnum)
{
- return SparcLinuxProcess::getDesc(callnum);
+ return SparcLinuxProcess::getDesc32(callnum);
}
void handleTrap(int trapNum, ThreadContext *tc);