sim-se: add new option to getrlimit syscall
authorBrandon Potter <brandon.potter@amd.com>
Mon, 11 Mar 2019 18:13:47 +0000 (14:13 -0400)
committerBrandon Potter <Brandon.Potter@amd.com>
Thu, 1 Aug 2019 19:34:51 +0000 (19:34 +0000)
The NPROC option was not serviced by the getrlimit syscall.
This changeset adds in the necessary code to service the option.

Change-Id: I679d3949c3bbb0628188f4e33034028d7726fdcb
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17109
Maintainer: Brandon Potter <Brandon.Potter@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
src/sim/syscall_emul.hh

index d8270fb23781d339702d0c1a0b549889a07baa9e..8a73cb2b730fa1e0ac094038c2523612ee4083d5 100644 (file)
@@ -1970,6 +1970,12 @@ getrlimitFunc(SyscallDesc *desc, int callnum, ThreadContext *tc)
         rlp->rlim_max = TheISA::htog(rlp->rlim_max);
         break;
 
+      case OS::TGT_RLIMIT_NPROC:
+        rlp->rlim_cur = rlp->rlim_max = tc->getSystemPtr()->numContexts();
+        rlp->rlim_cur = TheISA::htog(rlp->rlim_cur);
+        rlp->rlim_max = TheISA::htog(rlp->rlim_max);
+        break;
+
       default:
         warn("getrlimit: unimplemented resource %d", resource);
         return -EINVAL;