Commit Graph

831 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
435436f714 configure: work around ImportError: cannot import name 'main' 2018-09-14 15:30:14 +01:00
Ciro Santilli
f75673e745 build-buildroot: time the build 2018-09-14 15:04:06 +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
83b36867cf m5ops: fix arm m5exit 2018-08-29 14:32:21 +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 v1.0 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
6fadc5ec93 gem5: get /m5ops.out working on arm 2018-08-24 08:58:48 +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
dfa9d72f68 linux-bisect-boot-gem5: use common and handle status 134 2018-08-23 09:33:27 +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
433e60f876 common: common_gem5_default_src_dir factor out 2018-08-16 17:42:46 +01:00
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
d879ddc14f build-all: allow selecting custom archs 2018-08-14 12:49:41 +01:00
Ciro Santilli
da465e3b33 readme: link to build-all and test 2018-08-14 00:33:28 +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
d38a99754c linux: update to v4.18 2018-08-13 23:03:37 +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
8cd6ffda2a run: fix extra flags after -- 2018-08-12 19:31:28 +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