156 Commits

Author SHA1 Message Date
3d978570bc gem5: M5_OVERRIDE_PY_SOURCE 2018-09-13 12:20:11 +01:00
28e90dd4df Get rid of out/common, make buildroot, qemu, gem5 in out/
Rationale: previously we had archs on toplevel, e.g. out/x86_64

However, host tools like QEMU and gem5 can reuse a lot of the common build
files across archs. Therefore, we save space and time by putting them into
a single directory.

Therefore, the toplevel out/x86_64 was inconsistent, better put arch
inside guest tools that need separate build trees instead, e.g.
out/buildroot/x86_64/

Also common was pretty obscure as a name to say the best.
2018-09-09 22:21:54 +01:00
6d17b2ef84 readfile moved into run dir to allow multiple parallel runs
Set with --gem5-readefile helper
2018-09-09 13:03:49 +01:00
0a497bba7a expand a bunch of options, run and build are done 2018-09-09 10:41:43 +01:00
58de3f7243 port bisect-linux-boot-gem5 and zip-img
fix m5 build and a bunch other things
2018-09-08 23:46:29 +01:00
5796f1ee1d start refactoring build, completely broken atm' 2018-09-06 09:32:45 +01:00
485c071a4d get_elf_entry
trace2txt fully ported
2018-09-05 08:19:09 +01:00
1ff6a95ab3 run: generalize with main(), start porting trace-boot and qemu-trace2txt 2018-09-05 07:26:53 +01:00
efa2e4c29f run: add --terminal and explain gem5 pdb 2018-08-31 19:00:32 +01:00
78a7eeaed8 run: write environment variables to cmd.sh for the glorious M5_PATH 2018-08-30 16:54:15 +01:00
2cd1224db6 run_cmd: factor out logging of run and rungdb 2018-08-30 10:11:38 +01:00
12d5794547 run: -l latest checkpoint restore
Run is in theory done now, but all edge functionality needs double testing.
2018-08-30 09:54:28 +01:00
ddfb34cdd4 run logging works 2018-08-30 09:06:04 +01:00
094b6c4275 rungdb, gem5-shell and ./run -u ported 2018-08-29 09:57:26 +01:00
f46c7470e8 preparing for tmux and gdb 2018-08-28 00:21:22 +01:00
9484b43942 qemu basic boots work, not tested extensively 2018-08-27 09:50:17 +01:00
17c38b0c81 ./run -g almost fully ported in theory, not extensively tested 2018-08-27 00:26:43 +01:00
561c08a286 run: port argparse 2018-08-26 22:35:47 +01:00
9b30ac217f common: convert scripts to python 2018-08-26 10:45:26 +01:00
085253a457 run: fix broken -h 2018-08-16 12:00:50 +01:00
59b6062b29 run: dont check for panic if executable failed 2018-08-14 13:40:53 +01:00
63ec42f72f common: factor out common opts to all scripts 2018-08-14 00:27:55 +01:00
0f5c5a9912 readme: move build and run docs in 2018-08-13 23:14:39 +01:00
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
a8bc1f4cce readme: factor out hardcoded paths on code snippets with getvar 2018-08-13 21:09:27 +01:00
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
4e648479f2 gem5: add run -l option to restore latest checkpoint with directory timestamps 2018-08-12 21:06:30 +01:00
8cd6ffda2a run: fix extra flags after -- 2018-08-12 19:31:28 +01:00
688d26ecd6 qemu arm: fix boot with -M virt,highmem=off 2018-08-11 20:52:41 +01:00
88cd4d6d0b gem5: parse logs and exit with status 1 in case of errors 2018-08-11 20:52:41 +01:00
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
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
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
13e0ea7801 qemu: exit on panic by default instead of hanging 2018-08-10 08:51:49 +01:00
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
f5a997b2b6 do-release: sketch + a bunch of fixes from bench-all
qemu: monitor command from guest
2018-08-09 12:56:17 +01:00
b1bd45684f config: replace cli with direct common_ options 2018-08-09 07:12:20 +01:00
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
02e294c62c qemurr: create
qemu: start documenting unmerged replay reverse debugging while testing it
2018-08-08 00:41:13 +01:00
19f4d00f9b qemu: expose rr
run: expose forgotten -Q, document it
2018-08-06 02:48:43 +01:00
d330f8d250 Use absolute paths for . common
Otherwise it can pick up other common in PATH first...
2018-07-22 10:42:46 +01:00
291de25ac7 disable termout logging when debugging vm 2018-07-20 18:29:33 +01:00
e376e25ca2 run: add timestamps before each log message
Also time every run by default.
2018-07-19 08:07:31 +01:00
839271efd6 rand_check: move docs to readme, create norandmaps section 2018-07-09 17:44:34 +01:00
20b9961233 run: fix extra emulator args that were broken by -X 2018-06-27 17:58:54 +01:00
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
7bbb2a813e gem5: fix -X-b, fs_bigLITTLE checkpoint restore, checkpoints are just dirs on backend 2018-06-18 16:18:05 +01:00
18c1c823fe gem5: integrate fs_bigLITTLE.py into run 2018-06-17 12:06:29 +01:00
fa7065f0d4 run: save run.sh to the right directory for qemu 2018-06-14 10:44:40 +01:00
e91871611a run: forward -n to -u 2018-06-12 14:50:03 +01:00