You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.adoc
+18-2
Original file line number
Diff line number
Diff line change
@@ -202,6 +202,8 @@ The link:build[] script is just a lightweight wrapper that calls the smaller bui
202
202
./build --dry-run
203
203
....
204
204
205
+
see also: <<dry-run>>.
206
+
205
207
When you reach difficulties, QEMU makes it possible to easily GDB step debug the Linux kernel source code, see: xref:gdb[xrefstyle=full].
206
208
207
209
===== Your first kernel module hack
@@ -254,6 +256,8 @@ You can see that `./build` does that as well, by running:
254
256
./build --dry-run
255
257
....
256
258
259
+
See also: <<dry-run>>.
260
+
257
261
`--eval-after` is optional: you could just type `insmod hello.ko` in the terminal, but this makes it run automatically at the end of boot, and then drops you into a shell.
258
262
259
263
If the guest and host are the same arch, typically x86_64, you can speed up boot further with <<kvm>>:
@@ -531,6 +535,7 @@ Read the following sections for further introductory material:
531
535
* <<introduction-to-qemu>>
532
536
* <<introduction-to-buildroot>>
533
537
538
+
[[dry-run]]
534
539
=== Dry run to get commands for your project
535
540
536
541
One of the major features of this repository is that we try to support the `--dry-run` option really well for all scripts.
@@ -11879,7 +11884,6 @@ To use that file, first rebuild `m5ops.out` with the m5ops instructions enabled
11879
11884
....
11880
11885
./build-userland \
11881
11886
--arch aarch64 \
11882
-
--ccflags='-DLKMC_M5OPS_ENABLE=1' \
11883
11887
--force-rebuild \
11884
11888
userland/c/m5ops.c \
11885
11889
;
@@ -12180,7 +12184,19 @@ as explained in:
12180
12184
gem5.opt --stats-help
12181
12185
....
12182
12186
12183
-
TODO what is the advantage? The generated file for `--stats-file h5://stats.h5?desc=False` in LKMC f42c525d7973d70f4c836d2169cc2bd2893b4197 gem5 5af26353b532d7b5988cf0f6f3d0fbc5087dd1df was 946K, so much larger than the text version!
12187
+
This is not exposed in LKMC f42c525d7973d70f4c836d2169cc2bd2893b4197 however, you just have to <<dry-run,hack the gem5 CLI for now>>.
12188
+
12189
+
TODO what is the advantage? The generated file for `--stats-file h5://stats.h5?desc=False` in LKMC f42c525d7973d70f4c836d2169cc2bd2893b4197 gem5 5af26353b532d7b5988cf0f6f3d0fbc5087dd1df for a single dump was 946K, so much larger than the text version seen at <<gem5-m5out-stats-txt-file>> which was only 59KB max!
12190
+
12191
+
We then try to see if it is any better when you have a bunch of dump events:
12192
+
12193
+
....
12194
+
./run --arch aarch64 --emulator gem5 --userland userland/c/m5ops.c --userland-args 'd 1000'
12195
+
....
12196
+
12197
+
and there yes, we see that the file size fell from 39MB on `stats.txt` to 3.2MB on `stats.m5`, so the increase observed previously was just due to some initial size overhead.
12198
+
12199
+
We also note however that the stat dump made the such a simulation that just loops and dumps considerably slower, from 3s to 15s on <<p51>>. Fascinating, we are definitely not disk bound there.
0 commit comments