summaryrefslogtreecommitdiff
path: root/src/arch/arm/linux
diff options
context:
space:
mode:
authorMarc Orr <marc.orr@gmail.com>2012-08-06 19:52:56 -0700
committerMarc Orr <marc.orr@gmail.com>2012-08-06 19:52:56 -0700
commit7cef6b9befea7e4cc4138eb1b01d45dd777bd72f (patch)
tree0423fbf850dfb629b1f4d52fa56365bd136a55b8 /src/arch/arm/linux
parentf4b424cd539eed26de18e81fd9d433cd6ae6295b (diff)
downloadgem5-7cef6b9befea7e4cc4138eb1b01d45dd777bd72f.tar.xz
syscall emulation: Enabled getrlimit and getrusage for x86.
Added/moved rlimit constants to base linux header file. This patch is a revised version of Vince Weaver's earlier patch.
Diffstat (limited to 'src/arch/arm/linux')
-rw-r--r--src/arch/arm/linux/linux.hh22
-rw-r--r--src/arch/arm/linux/process.cc2
2 files changed, 1 insertions, 23 deletions
diff --git a/src/arch/arm/linux/linux.hh b/src/arch/arm/linux/linux.hh
index 55af574d3..5a3e68a78 100644
--- a/src/arch/arm/linux/linux.hh
+++ b/src/arch/arm/linux/linux.hh
@@ -93,31 +93,9 @@ class ArmLinux : public Linux
static const unsigned TGT_MAP_ANONYMOUS = 0x20;
static const unsigned TGT_MAP_FIXED = 0x10;
- //@{
- /// For getrusage().
- static const int TGT_RUSAGE_SELF = 0;
- static const int TGT_RUSAGE_CHILDREN = -1;
- static const int TGT_RUSAGE_BOTH = -2;
- //@}
-
/// For table().
static const int TBL_SYSINFO = 12;
- /// Resource enumeration for getrlimit().
- enum rlimit_resources {
- TGT_RLIMIT_CPU = 0,
- TGT_RLIMIT_FSIZE = 1,
- TGT_RLIMIT_DATA = 2,
- TGT_RLIMIT_STACK = 3,
- TGT_RLIMIT_CORE = 4,
- TGT_RLIMIT_RSS = 5,
- TGT_RLIMIT_NPROC = 6,
- TGT_RLIMIT_NOFILE = 7,
- TGT_RLIMIT_MEMLOCK = 8,
- TGT_RLIMIT_AS = 9,
- TGT_RLIMIT_LOCKS = 10
- };
-
/// Limit struct for getrlimit/setrlimit.
struct rlimit {
uint32_t rlim_cur; //!< soft limit
diff --git a/src/arch/arm/linux/process.cc b/src/arch/arm/linux/process.cc
index a30b1f440..088f9907e 100644
--- a/src/arch/arm/linux/process.cc
+++ b/src/arch/arm/linux/process.cc
@@ -151,7 +151,7 @@ SyscallDesc ArmLinuxProcess::syscallDescs[] = {
/* 73 */ SyscallDesc("sigpending", unimplementedFunc),
/* 74 */ SyscallDesc("sethostname", ignoreFunc),
/* 75 */ SyscallDesc("setrlimit", ignoreFunc),
- /* 76 */ SyscallDesc("getrlimit", unimplementedFunc),
+ /* 76 */ SyscallDesc("getrlimit", getrlimitFunc<ArmLinux>),
/* 77 */ SyscallDesc("getrusage", getrusageFunc<ArmLinux>),
/* 78 */ SyscallDesc("gettimeofday", gettimeofdayFunc<ArmLinux>),
/* 79 */ SyscallDesc("settimeofday", unimplementedFunc),