Commit Graph

340 Commits

Author SHA1 Message Date
Ciro Santilli
e80a2b21ed QEMU x86 kvm bench 2018-02-26 07:17:25 +00:00
Ciro Santilli
5ae86f0df7 GEM5 develop system param tweaking a bit more 2018-02-25 21:47:48 +00:00
Ciro Santilli
e22b52508b Document cycle accurate would make the simulation even slower 2018-02-25 20:45:28 +00:00
Ciro Santilli
d9302d1d76 Add x86 benchmark 2018-02-25 20:41:54 +00:00
Ciro Santilli
2092180ac8 Update GEM5 to master to fix x86 boot via 3feeb994ae613fd6b3734c1a991285b2ecbd1946
See also: http://gem5-users.gem5.narkive.com/CQh9J6fU/fail-to-run-fs-mode-with-linux-kernel-v4-8-13-and-ubuntu-image-16-04-1

Start sketching how to tweak system parameters, number of CPUs works, caches don't.
2018-02-25 20:27:35 +00:00
Ciro Santilli
a20baebb36 Create a .profile for fun 2018-02-25 11:49:11 +00:00
Ciro Santilli
2eff007f7c GEM5 checkpoint switch to HPI for benchmarking.
Don't pass -e on checkpoint restore.

Add benchmarks to how much GEM5 is slower than QEMU.

Rename Kernel boot command line arguments to match kernel docs name.

Document how to pass extra options to GEM5.

Start listing interesting benchmarks to run on GEM5.

Add an openmp hello world.
2018-02-25 10:59:28 +00:00
Ciro Santilli
42d86576cd Move to the more automated gem5-bench benchmarking script.
Enable everything in the toolchain in preparation to future benchmarking
to prevent future rebuilds, notably C++, Fortran and LTO support.

Document compiler optimizations for benchmarking.

Document graph-build for monitoring build times.
2018-02-24 05:32:30 +00:00
Ciro Santilli
8a5c310535 Document failed bisect of ARM kernel module debug 2018-02-24 04:10:27 +00:00
Ciro Santilli
c01df4301d Merge branch 'master' of github.com:cirosantilli/linux-kernel-module-cheat 2018-02-24 03:53:16 +00:00
Ciro Santilli
ecca3480ad bak 2018-02-24 03:52:46 +00:00
Ciro Santilli
52d07614c3 GEM5 benchmark cycle counting 2018-02-23 12:37:49 +00:00
Ciro Santilli
75fd05c1c8 Document m5 exit 2018-02-23 10:08:27 +00:00
Ciro Santilli
7bd23baae8 Add m5 to path 2018-02-23 10:01:58 +00:00
Ciro Santilli
e076e0eb64 Move gem5 doc down since much of it is diffed with qemu 2018-02-23 04:58:47 +00:00
Ciro Santilli
baca62a883 Allow passing options to gem5 itself instead of fs.py 2018-02-23 04:55:17 +00:00
Ciro Santilli
a1776aef80 QEMU guest agent qemu-ga 2018-02-23 04:35:03 +00:00
Ciro Santilli
a1cd07d6ed Rename rungem5-shell to gem5-shell to make shorter 2018-02-23 02:24:40 +00:00
Ciro Santilli
4a9469d83c GEM5 aarch64 2018-02-22 18:50:27 +00:00
Ciro Santilli
5a1d5ba7a9 Merge branch 'master' of github.com:cirosantilli/linux-kernel-module-cheat 2018-02-22 17:45:21 +00:00
Ciro Santilli
ecdded0316 gem5 vs qemu license 2018-02-22 15:46:59 +00:00
Ciro Santilli
b895ba1815 Document that GEM5 snapshot is better than QEMU since guest started 2018-02-22 11:47:16 +00:00
Ciro Santilli
cd34810607 Document ARM kernel module step debugging is broken 2018-02-22 10:12:06 +00:00
Ciro Santilli
6420c31986 GEM5 gdb debug
Improve GEM5 documentation in general.

Fix documentation for x86 kernel module debugging example, fop_write had been made static,
and use timer.ko instead of fops which is more reliable and fun.
2018-02-22 10:05:57 +00:00
Ciro Santilli
ff71f19fa6 GEM5 don't pass norandmaps twice 2018-02-22 08:39:03 +00:00
Ciro Santilli
80e299850d GEM5 vm GDB debug 2018-02-22 08:35:11 +00:00
Ciro Santilli
e4dde335ed Document initrd is good as it uses pristine image 2018-02-22 08:25:32 +00:00
Ciro Santilli
be8897304b Fix nested list 2018-02-22 00:37:22 +00:00
Ciro Santilli
2c4a9476be Fix x86 build with GEM5. Boot still fails as before.
Use ./run -g instead of ./rungem5.

More convenient GEM5 kernel command line options with -e differentially.
2018-02-22 00:23:57 +00:00
Ciro Santilli
f31046d26a Don't compile qemu when gem5 is used 2018-02-21 13:50:23 +00:00
Ciro Santilli
9e5173f324 GEM5 checkpoint
Add gem5 as buildroot package to cross compile m5.

Add gem5 as a submodule.

Split gem5 from arch on CLI with "-a arm -g" instead of "-a arm-gem5".
2018-02-21 10:19:35 +00:00
Ciro Santilli
0c2bd829d4 qemu 2.11
Fixes required:

- split and fakeup a clean one feature per commit history
- lkmc_pci_min: use INTERFACE_CONVENTIONAL_PCI_DEVICE or an assert failed
- trace event location changes, use generated trace-events-all
2018-02-20 22:44:45 +00:00
Ciro Santilli
d9fcf897ac arm limitation: turn qemu off on poweroff 2018-02-20 22:05:11 +00:00
Ciro Santilli
e519caa9c2 Build dhrystone, preparing to run it on gem5 2018-02-20 19:47:25 +00:00
Ciro Santilli
33ca2b29e2 Fix MIPS BR2_PACKAGE_LINUX_TOOLS_GPIO build
Update mips for snapshot and initrd features.

Document MIPS limitations.

Improve description of test procedure
2018-02-17 10:06:00 +00:00
Ciro Santilli
2b5a9ea45d Merge branch 'master' of github.com:cirosantilli/linux-kernel-module-cheat 2018-02-17 08:47:29 +00:00
Ciro Santilli
ee622c2be5 Fix "./run -a arm -i" initrd 2018-02-17 08:47:03 +00:00
Ciro Santilli
0b4f156b1b initrd in desktop 2018-02-16 09:39:13 +00:00
Ciro Santilli
b3868a3b00 initrd 2018-02-15 23:26:47 +00:00
Ciro Santilli
5d60fd0903 Document kernel boot command line options 2018-02-15 13:03:02 +00:00
Ciro Santilli
bae2138b73 rename call to GDB call for uniqueness 2018-02-14 08:50:44 +00:00
Ciro Santilli
66e7208364 Make aarch64 boot again and explain its limitations better.
Restore lkmc_min that was accidentaly removed.

Explain how to remove modules that fail to build.
2018-02-14 07:56:35 +00:00
Ciro Santilli
1e0f0b4928 Improve snapshot instructions 2018-02-14 06:46:00 +00:00
Ciro Santilli
0b09391695 Remove forgotten intermediate snapshots 2018-02-14 06:40:11 +00:00
Ciro Santilli
55d3288901 Document snapshots here as well as SO 2018-02-14 06:36:35 +00:00
Ciro Santilli
de8f396429 Improve contributing testing procedure 2018-02-14 06:31:22 +00:00
Ciro Santilli
5ae702c71c Use qcow2 by default for savevm, loadvm.
Create shortcuts for -t linux-reconfigure and -t host-qemu-reconfigure.
2018-02-14 06:16:52 +00:00
Ciro Santilli
a14c95346c about section! 2018-02-14 04:39:43 +00:00
Ciro Santilli
254c8bf42e adoc
Semi automated conversion, in part because Pandoc is kind of buggy for adoc:

Some of the commands were along the lines:

    for f in *.md; do pandoc --atx-headers --base-header-level=3 -o ${f%.md}.adoc --wrap=none $f; done
    sed -Ei '/\[\[.*\]\]/d' *.adoc
    while read -r f; do cat $f; echo; done <f >g
2018-02-14 04:26:07 +00:00
Ciro Santilli
9a35e4c37a Document failed gdb call, rename file to gdb.md test-replay-arm 2018-02-13 01:55:52 +00:00