Commit Graph

418 Commits

Author SHA1 Message Date
Ciro Santilli
cb8a2f843c readme: ok, move fairy tale down 2018-09-14 07:54:26 +01:00
Ciro Santilli
56738a1c70 lkmc v2-rc
Unsquashed version at v2-rc-unsquashed, but that cannot be merged as it
breaks bisects at several points. All bugs will not bisect to this
humongous change.

It all started with a conversion of the Bash scripts to Python, mainly
because I couldn't stand not being able to properly use --options for
run which has a million options.

Then since that required a full testing, I decided to do all the
refactorings that I had in mind at once, and so I did and it became
v2-rc.

This is the largest patch I have ever done! OMG a few weeks of extra time.
I'm never writing a Bash script for anything that starts getting big again.

Some of the features are:

* separate build-qemu and build-gem5 commands
* common: convert scripts to python. Add --option for everything
* rename build to build-buildroot now that we are splitting all the build
  commands, Linux kernel to follow
* move all git submodules to submodules/ and all buildroot packages to
  packages/
* refactor the out/ structure. Keep projects on toplevel, because guest
  projects separate archs and host ones don't, making a toplevel arch wrong
* do-release: rename to just release
  https://stackoverflow.com/questions/16174992/cant-get-argparse-to-read-quoted-string-with-dashes-in-it
* run: add --terminal and explain gem5 pdb
* just track the lvimrc
* store CLI kernel config fragment inside buildlroot to avoid conflicts
* gem5: document m5 initparam
* readme: make a bunch of things awesomer
* readme: fix broken refs
* parsec-benchmark: update to 75d55ac446a43c47efb1044844a108c6c330184c
  Could not fetch otherwise.
* gem5: M5_OVERRIDE_PY_SOURCE
2018-09-14 07:42:31 +01:00
Ciro Santilli
9010e094d6 gem5: fs.py EL3 and EL2 require enabling with cli options 2018-08-28 13:24:33 +01:00
Ciro Santilli
f8c0502bb2 readme: link to m5ops.h as well 2018-08-25 14:34:14 +01:00
Ciro Santilli
7ccc1d3a8f m5ops: move to factored .h file
Create empty subs for unsupported archs, much less messy for callers.

bst_vs_heap: create
2018-08-25 09:32:44 +01:00
Ciro Santilli
eb4f4ba1d7 gem5.sh: simplify, and do m5 resetstats and m5 exit
This covers the most common use case of running a benchmark after restore.
2018-08-25 06:13:09 +01:00
Ciro Santilli
865d065d3d run: document positional args 2018-08-25 04:57:23 +01:00
Ciro Santilli
155357f0e2 qemu: document -d -D trace options 2018-08-24 18:08:42 +01:00
Ciro Santilli
6d51da52bb gem5: add m5 fail 1 to /m5op.out
Document that m5 fail is not actually exiting status 1 on fs.py.
2018-08-24 16:56:19 +01:00
Ciro Santilli
e269429995 readme: getting started how to quit qemu on top 2018-08-23 14:14:45 +01:00
Ciro Santilli
3241c114f0 gem5: bisected arm boot failure 2018-08-23 10:35:32 +01:00
Ciro Santilli
9e70327494 readme: getvar vmlinux refactor 2018-08-23 10:16:20 +01:00
Ciro Santilli
735c136bfc gem5: report broken arm on kernel v4.18 2018-08-23 06:06:27 +01:00
Ciro Santilli
737fd32352 gem5: update to 200281b08ca21f0d2678e23063f088960d3c0819
Fixes Linux kernel boot on arm and aarch64 due to:
d84a0714220ffcc10eed0530ec01ed1a01a4ad4b Was failing with:

    /build/ARM/cpu/simple/atomic.cc:377: virtual Fault AtomicSimpleCPU::readMem(Addr, uint8_t*, unsigned int, Request::Flags): Assertion
-`!pkt.isError()' failed
2018-08-22 10:42:12 +01:00
Ciro Santilli
72e135d2b2 gem5 trace: explain A and D 2018-08-20 16:48:02 +01:00
Ciro Santilli
b57baebe87 gem5: explain -N a bit better 2018-08-16 18:11:50 +01:00
Ciro Santilli
085253a457 run: fix broken -h 2018-08-16 12:00:50 +01:00
Ciro Santilli
da465e3b33 readme: link to build-all and test 2018-08-14 00:33:28 +01:00
Ciro Santilli
0f5c5a9912 readme: move build and run docs in 2018-08-13 23:14:39 +01:00
Ciro Santilli
796a0e1c70 linux: move rebase procedure to submodule neutral section 2018-08-13 23:02:22 +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
4085dfd7b3 readme: fix some directories
TODO: maybe I should automate all that stuff with some magic helper
that exposes internal paths, otherwise the docs break on every refactor
and it is very hard to fix them up.
2018-08-12 21:13: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
111580acd2 gem5: exit on panic, link to mailing list thread 2018-08-12 18:56:19 +01:00
Ciro Santilli
6792bfd45a gem5: arm linux kernel bisection result and script 2018-08-12 12:30:15 +01:00
Ciro Santilli
e5e68750ce gem5: vs qemu, implements more low level functionality 2018-08-11 21:50:10 +01:00
Ciro Santilli
71a5ab31a2 qemu: system registers fail 2018-08-11 21:41:03 +01:00
Ciro Santilli
688d26ecd6 qemu arm: fix boot with -M virt,highmem=off 2018-08-11 20:52:41 +01:00
Ciro Santilli
4f6b206ccf gem5: investigate why gem5 returns 0 on abort 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
fbbfe98bfd bisection: document our amazing bisect fu 2018-08-11 13:30:56 +01:00
Ciro Santilli
ae55c73397 README: fix references 2018-08-11 12:37:53 +01:00
Ciro Santilli
cb5ce8ea2b qemu: savevm oneliner ./run command 2018-08-11 00:10:39 +01:00
Ciro Santilli
dfb7e05150 qemu: monitor from gdb 2018-08-10 16:38:20 +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
b585590fc0 qemu: add error message to qemu v3.0.0-rc4 boot failure 2018-08-10 09:38:28 +01:00
Ciro Santilli
13e0ea7801 qemu: exit on panic by default instead of hanging 2018-08-10 08:51:49 +01:00
Ciro Santilli
cf9c2e6ce8 qemu: document arm boot failure after update to v3.0.0-rc3 2018-08-09 23:24:29 +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
380000ce57 gdb: step debug init runtc readelf missin -s 2018-08-09 07:17:06 +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
b8abb15ca7 gem5: trace use -ExecSymbol 2018-08-09 03:45:32 +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
22dda8f6db gem5: remove build variant from output directory
I noticed that it is not very elegant, since there are many other variants
which are not included, e.g. Linux kernel build and random configs.

Also it makes the path longer for something that is not the most common use case.

Users can use run ID instead when they want separate output directories.
2018-08-06 02:48:43 +01:00