137 Commits

Author SHA1 Message Date
Ciro Santilli
085253a457 run: fix broken -h 2018-08-16 12:00:50 +01:00
Ciro Santilli
59b6062b29 run: dont check for panic if executable failed 2018-08-14 13:40:53 +01:00
Ciro Santilli
63ec42f72f common: factor out common opts to all scripts 2018-08-14 00:27:55 +01:00
Ciro Santilli
0f5c5a9912 readme: move build and run docs in 2018-08-13 23:14:39 +01:00
Ciro Santilli
626f5f9e22 bench-boot: add -f option to only run fast boots
Comment out all tests that are known to be failing.

run: exit 1 on failure, was broken dude to termout pipe
2018-08-13 22:56:20 +01:00
Ciro Santilli
a8bc1f4cce readme: factor out hardcoded paths on code snippets with getvar 2018-08-13 21:09:27 +01:00
Ciro Santilli
185c2730cc gem5: ./run -l works for fs_bigLITTLE.py
When you remove something from the README because it became obvious
through automation, that is a good thing.
2018-08-12 21:52:54 +01:00
Ciro Santilli
4e648479f2 gem5: add run -l option to restore latest checkpoint with directory timestamps 2018-08-12 21:06:30 +01:00
Ciro Santilli
8cd6ffda2a run: fix extra flags after -- 2018-08-12 19:31:28 +01:00
Ciro Santilli
688d26ecd6 qemu arm: fix boot with -M virt,highmem=off 2018-08-11 20:52:41 +01:00
Ciro Santilli
88cd4d6d0b gem5: parse logs and exit with status 1 in case of errors 2018-08-11 20:52:41 +01:00
Ciro Santilli
539b176e1d gem5: test out panic_on_panic
patches: create patche/manual patch dir, put all patch directories under
patches/ subdir
2018-08-11 20:52:41 +01:00
Ciro Santilli
5cdce7be46 run: factor out arm and aarch64
Make the generated command beautiful and perfect without any trailing whitespace.
I have to review my life choices
2018-08-11 12:36:38 +01:00
Ciro Santilli
6ea0b16cd7 run: detect QEMU panics by log parsing
Add correct error messages to kernel v4.17 gem5 boot failures
2018-08-10 15:03:40 +01:00
Ciro Santilli
13e0ea7801 qemu: exit on panic by default instead of hanging 2018-08-10 08:51:49 +01:00
Ciro Santilli
b675cf35cb zip-image: factor out with common
Notably, only include the strictly necessary files in the archive, otherwise
initrd's from other builds might get in the way.
2018-08-09 22:25:53 +01:00
Ciro Santilli
f5a997b2b6 do-release: sketch + a bunch of fixes from bench-all
qemu: monitor command from guest
2018-08-09 12:56:17 +01:00
Ciro Santilli
b1bd45684f config: replace cli with direct common_ options 2018-08-09 07:12:20 +01:00
Ciro Santilli
1cb056a995 common: simplify set_common_vars, rename to common_setup
Don't pass all arguments explicitly, just use existing vars.

Prefix all common_setup inputs and outputs with common_ to avoid name conflicts.
2018-08-09 06:59:52 +01:00
Ciro Santilli
02e294c62c qemurr: create
qemu: start documenting unmerged replay reverse debugging while testing it
2018-08-08 00:41:13 +01:00
Ciro Santilli
19f4d00f9b qemu: expose rr
run: expose forgotten -Q, document it
2018-08-06 02:48:43 +01:00
Ciro Santilli
d330f8d250 Use absolute paths for . common
Otherwise it can pick up other common in PATH first...
2018-07-22 10:42:46 +01:00
Ciro Santilli
291de25ac7 disable termout logging when debugging vm 2018-07-20 18:29:33 +01:00
Ciro Santilli
e376e25ca2 run: add timestamps before each log message
Also time every run by default.
2018-07-19 08:07:31 +01:00
Ciro Santilli
839271efd6 rand_check: move docs to readme, create norandmaps section 2018-07-09 17:44:34 +01:00
Ciro Santilli
20b9961233 run: fix extra emulator args that were broken by -X 2018-06-27 17:58:54 +01:00
Ciro Santilli
1721f184d6 gem5: track build and run variants separately with -M and -N
Otherwise, checking out branches is too insane, as it does not
update the worktrees, even though the gem5/gem5 module was updated.

gem5: expose build types, document debug builds.

simultaneous runs: store stdout and stderr on a file to allow running
all from a single terminal on the background cleanly.
2018-06-27 16:31:24 +01:00
Ciro Santilli
7bbb2a813e gem5: fix -X-b, fs_bigLITTLE checkpoint restore, checkpoints are just dirs on backend 2018-06-18 16:18:05 +01:00
Ciro Santilli
18c1c823fe gem5: integrate fs_bigLITTLE.py into run 2018-06-17 12:06:29 +01:00
Ciro Santilli
fa7065f0d4 run: save run.sh to the right directory for qemu 2018-06-14 10:44:40 +01:00
Ciro Santilli
e91871611a run: forward -n to -u 2018-06-12 14:50:03 +01:00
Ciro Santilli
28c70a3824 run: support multiple simultaneous runs and run output directories 2018-06-12 12:37:31 +01:00
Ciro Santilli
b562d8dfe7 gem5: support variants 2018-06-10 08:57:39 +01:00
Ciro Santilli
335adec68a qemu: don't persist disk changes by default 2018-06-09 13:41:08 +01:00
Ciro Santilli
61c5162fa6 linux: introduce build variants selectable at runtime 2018-06-07 05:26:04 +01:00
Ciro Santilli
32ccda88c8 prebuilt: allow running prebuilt images 2018-05-28 19:36:07 +01:00
Ciro Santilli
3cebbb9591 graphics: arm -M virt does have graphics actually 2018-05-24 15:43:04 +01:00
Ciro Santilli
8cd2659a60 run: improve -drive file quoting to be saner 2018-05-21 11:27:34 +01:00
Ciro Santilli
b992163d4e gem5: possible to edit python in tree, factor arm and aarch64 build
readme: stress kills gem5, some gem5 builds much slower than others
2018-05-02 00:14:23 +01:00
Ciro Santilli
7c16eb6ec1 run: pass Ctrl+C to GDB when using -D 2018-04-26 14:47:40 +01:00
Ciro Santilli
ab21ef58de trace2line: gem5 support
As noted however, it is potentially too slow to be useful.

run: unify gem5 and qemu tracing under -T

readme: overhaul tracing documentation from what I've learnt from trace2line
2018-04-26 00:23:44 +01:00
Ciro Santilli
f10ef3a467 bench-all: add build benchmarks and make all benchmarks options
run: fix ./run -gu broken behaviour. Document ./tmu window switch failure.

readme: move travis failed attempt to readme.
2018-04-22 21:09:17 +01:00
Ciro Santilli
2bddcc2891 build: unify QEMU and gem5 kernel configs! The last one!
Split optional and required kernel configs into separate files.

readme: describe how our kernel configs are generated from Buildroot

readme: document QEMU `-no-reboot` and speculate gem5 `panic_on_panic`
in preparation for some more automated bisection with ktest.
2018-04-21 11:50:02 +01:00
Ciro Santilli
759fb7b7c8 run: move run.sh into out/arch/qemu or out/arch/gem5 subdirs
This allows to compare both commands as the run.sh won't overwritten.
2018-04-19 23:51:21 +01:00
Ciro Santilli
af210a7671 Move arm to virt armv7, unify arm QEMU and gem5 builds
gem5 requires armv7, and we learnt that the versatiledb we were using
was pre-v7.

We could have moved to -M vexpress-*, but in the end decided to go for
-M virt due to its simpliciy, and uniformity with aarch64.

platform_device: does not work anymore and was removed, since it was tied
to versatilepb.

We left a mention on the README and removed all in tree source. The QEMU
patch is still left as it was.

As a consequence, the linux tree had no other patches, and we now use
vanilla linux by default, which is a great thing for reproducibility.

Another consequence is the /poweroff.out works for arm -M virt,
and we removed all mentions of the problem.
2018-04-19 23:38:17 +01:00
Ciro Santilli
2c084f5fb2 run: create -F option to run base64 encoded command after busybox init
Fix ./run -h which was showing the build help instead.
2018-04-19 08:57:35 +01:00
Ciro Santilli
9805d333ea tc: create helper to access toolchain tools 2018-04-19 08:24:10 +01:00
Ciro Santilli
b5d64142e9 readme: explain how to use dynamic debugging for boot messages
run: pass the console_msg_format=syslog boot parameter by default,
to allow seeing what is the priority of messages on the terminal.

Document printk better.
2018-04-18 15:04:19 +01:00
Ciro Santilli
5698a5ed2b build: move br2_cli.gitignore to out/ 2018-04-18 14:06:48 +01:00
Ciro Santilli
f4eed4163b scripts: factor out benchmarks and run further with ./eeval and common_bench_cmd 2018-04-18 12:47:43 +01:00