Commit Graph

429 Commits

Author SHA1 Message Date
Ciro Santilli
9c5b5b40d4 build variants: move to about this repo 2018-09-14 18:04:53 +01:00
Ciro Santilli
7f81db9a46 qemu: use ccache
readme: improve build variants
2018-09-14 16:56:12 +01:00
Ciro Santilli
40b5c5a023 time all builds and run 2018-09-14 15:53:08 +01:00
Ciro Santilli
98e32a5496 runtc: rename to run-toochain
Names up to two full words are saner and not too long
2018-09-14 11:33:22 +01:00
Ciro Santilli
952b6dbb76 readme: make gdb and tmux awesomer 2018-09-14 11:31:31 +01:00
Ciro Santilli
766ba92b66 readme: gem5 and docker getting started make awesomer 2018-09-14 11:15:47 +01:00
Ciro Santilli
5ed2fcb0ab readme: more entry tidbits 2018-09-14 10:56:57 +01:00
Ciro Santilli
55765d7101 readme: improve ordering
Add note about uris list
2018-09-14 10:49:19 +01:00
Ciro Santilli
2f413958b0 gem5: fix submodule fetch
Only shallow clone the Linux kernel for now

Saner defaults for ./configure:

* ./configure only gets gem5
* ./configure -g only gets gem5
* ./configure -qg both
2018-09-14 09:45:39 +01:00
Ciro Santilli
d96baebe7a readme: hw dev make awesome 2018-09-14 08:10:14 +01:00
Ciro Santilli
bcece8b335 readme: getting started tidbits 2018-09-14 08:00:03 +01:00
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