summaryrefslogtreecommitdiff
path: root/src/arch/mips/linux
diff options
context:
space:
mode:
authorCiro Santilli <ciro.santilli@arm.com>2019-05-21 16:36:32 +0100
committerCiro Santilli <ciro.santilli@arm.com>2019-05-29 09:34:37 +0000
commit08c79a194d1a3430801c04f37d13216cc9ec1da3 (patch)
treeaa594a2bb648ceea86a35ef92c74774d308072e9 /src/arch/mips/linux
parent151b22cddbbec6dcce6bddfcda6bdb2fa669d318 (diff)
downloadgem5-08c79a194d1a3430801c04f37d13216cc9ec1da3.tar.xz
sim-se: add a release parameter to Process.py
Set the default release to that single value for all ISAs. glibc has checks for the kernel version based on uname, and refuses to start any syscall emulation programs if those checks don't pass with error: FATAL: kernel too old The ideal solution to this problem is to actually implement all missing system calls for the required kernel version and bumping the release accordingly. However, it is very hard to implement all missing syscalls and verify compliance. Previously, we have simply bumped the version manually from time to time when major glibc versions started breaking. This commit alleviates the problem in two ways. Firstly, having a single kernel version for all versions means that it is easier to bump all versions at once. Secondly, it makes it is possible to set the release with a parameter, which in turn can be set from the command line with: se.py --param 'system.cpu[:].workload[:].release = "4.18.0"' Change-Id: I9e3c31073bfe68735f7b0775c8e299aa62b98222 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17849 Maintainer: Brandon Potter <Brandon.Potter@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch/mips/linux')
-rw-r--r--src/arch/mips/linux/process.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/mips/linux/process.cc b/src/arch/mips/linux/process.cc
index 8a4811a04..9efaf2624 100644
--- a/src/arch/mips/linux/process.cc
+++ b/src/arch/mips/linux/process.cc
@@ -88,7 +88,7 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc)
strcpy(name->sysname, "Linux");
strcpy(name->nodename,"sim.gem5.org");
- strcpy(name->release, "3.0.0");
+ strcpy(name->release, process->release.c_str());
strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003");
strcpy(name->machine, "mips");