diff --git a/README.adoc b/README.adoc index af32a9d..0906b2c 100644 --- a/README.adoc +++ b/README.adoc @@ -3783,7 +3783,7 @@ Here is an interesting examples of this: xref:linux-test-project[xrefstyle=full] At 125d14805f769104f93c510bedaa685a52ec025d we <>, and caused some user mode pain, which we document here. -==== FATAL: kernel too old +==== FATAL: kernel too old failure in userland simulation glibc has a check for kernel version, likely obtained from the `uname` syscall, and if the kernel is not new enough, it quits. @@ -11977,13 +11977,13 @@ but glibc kernel version checks make init fail with: FATAL: kernel too old .... -because glibc was built to expect a newer Linux kernel as shown at: xref:fatal-kernel-too-old[xrefstyle=full]. Your choices to sole this are: +because glibc was built to expect a newer Linux kernel as shown at: xref:fatal-kernel-too-old-failure-in-userland-simulation[xrefstyle=full]. Your choices to solve this are: * see if there is a more recent gem5 kernel available, or port your patch of interest to the newest kernel * modify this repo to use <>, which is not hard because of Buildroot * patch glibc to remove that check, which is easy because glibc is in a submodule of this repo -It is obviously not possible to understand what they actually do from their commit message, so let's explain them one by one here as we understand them: +It is obviously not possible to understand what the Linux kernel fork commits actually do from their commit message, so let's explain them one by one here as we understand them: * `drm: Add component-aware simple encoder` allows you to see images through VNC, see: xref:gem5-graphic-mode[xrefstyle=full] * `gem5: Add support for gem5's extended GIC mode` adds support for more than 8 cores, see: xref:gem5-arm-full-system-with-more-than-8-cores[xrefstyle=full] @@ -20572,6 +20572,8 @@ How long it takes to build gem5 itself. We will update this whenever the gem5 submodule is updated. +All benchmarks done on <>. + Sample results at gem5 2a9573f5942b5416fb0570cf5cb6cdecba733392: 10 to 12 minutes. Get results with: @@ -20581,7 +20583,7 @@ Get results with: tail -n+1 ../linux-kernel-module-cheat-regression/*/gem5-bench-build-*.txt .... -<>, Ubuntu 19.10, LKMC 7c6bb29bc89ec3f1056c0680c3f08bd64018a7bc GCC 9.2.1, gem5 d7d9bc240615625141cd6feddbadd392457e49eb (18-02-2020), `./build --arch aarch64 --gem5-worktree master --no-cache`: 19:33 TODO must investigate why it got so much worse. +Ubuntu 19.10, GCC 9.2.1, LKMC 7c6bb29bc89ec3f1056c0680c3f08bd64018a7bc, gem5 d7d9bc240615625141cd6feddbadd392457e49eb (18-02-2020), `./build --arch aarch64 --gem5-worktree master --no-cache`: 19:33 TODO must investigate why it got so much worse. ====== Benchmark gem5 single file change rebuild time @@ -21170,7 +21172,7 @@ ccache can be disabled with the `--no-ccache` option as in: ./build-gem5 --no-ccache .... -This can be useful to <>. +This can be useful to <>. === getvar diff --git a/userland/posix/uname.c b/userland/posix/uname.c index bd8d413..aaab762 100644 --- a/userland/posix/uname.c +++ b/userland/posix/uname.c @@ -1,4 +1,4 @@ -/* https://cirosantilli.com/linux-kernel-module-cheat#fatal-kernel-too-old */ +/* https://cirosantilli.com/linux-kernel-module-cheat#fatal-kernel-too-old-failure-in-userland-simulation */ #define _XOPEN_SOURCE 700 #include