Commit Graph

30 Commits

Author SHA1 Message Date
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
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
28c70a3824 run: support multiple simultaneous runs and run output directories 2018-06-12 12:37:31 +01:00
Ciro Santilli
61c5162fa6 linux: introduce build variants selectable at runtime 2018-06-07 05:26:04 +01:00
Ciro Santilli
4da17d0816 rungdb: store cd into rungdb.sh to make it actually rerunnable 2018-04-26 13:24:15 +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
9805d333ea tc: create helper to access toolchain tools 2018-04-19 08:24:10 +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
Ciro Santilli
9e79b9b06f Save .log output files to out/arch/
This is cleaner as it removes yet another .gitignore rule and allows
for one command per arch.

This was prompted by the recent Docker patch creating files as root,
which then breaks future host runs.

Also separate all arguments by newlines. This:

- makes it much easier to minimize when reporting QEMU bugs
- shows the full command on the screen despite line wrapping being turned off
  by one of the annoying emulators, to be investigated.

The commands are not yet pristine, because:

- there are some leading spaces
- options not sorted

but it is already a huge improvement, and those operations are now be easy from Vim.

The general strategy is:

- end every variable containing a command with a newline
- when expanding such variables, don't add an extra newline
2018-04-08 17:49:14 +01:00
Ciro Santilli
f482f24f87 readme: explain how to run benchmarks with readfile straight out
gem5 cache automate benchmarks, and remove results that were scattered all over.

Move console fun under linux kernel section, since not important enough
for getting started.

Set arch x86_64 by default through common on all scripts.
2018-04-03 22:28:53 +01:00
Ciro Santilli
5235854384 Create the cli.gitignore mechanism to pass extra default cli options
Document that X11 mouse is not moving.

Convert x='' to x= on all scripts, and also fix case ;; indentations.

Add dummy value to QEMU's -trace enable= to prevent warning.

Expand built-in package choice rationale.
2018-03-30 17:03:17 +01:00
Ciro Santilli
9fd72c786f Move all build and run output to out/$arch/
Most of it was present inside buildroot/output.* and the rest scattered
on top level.

This came about for the n-th time when we were reviewing QEMU trace file
locations.

On one hand, it would be cool to have per arch traces.

This made buildroot/output.${arch}~/ a natural choice.

But on the other, those traces have nothing to do with Buildroot,
and could potentially interfere with Buildroot build files.

It also feels nicer to have buildroot/ pristine source code only,
and keep all output under a single directory out/
2018-03-29 02:08:18 +01:00
Ciro Santilli
6e9f3dcf23 Document gem5 userland debugging
This lead to an infinite chaing of refactorings:

Fix arm and aarch64 lx-symbols

This was just by chance, a continue GDB command was needed before running it.

I noticed that there is no more need for the x86 GDB --ex 'set arch i386:x86-64:intel'
thing and unified all archs. TODO bisect where that was fixed and understand why.

Add debug kernel configs for gem5 kernel.

Document gem5 aarch64 gdb debug doesn't work.

Document tmux split pane action.
2018-03-23 20:55:26 +00:00
Ciro Santilli
29908dffb2 Disable networking at runtime with lkmc_nonet cli instead of build
This is necessary because qemu and gem5 now use the same build folder.

Separate ./run -e and -f for kernel options before and after the ' - '.
This was already the better thing to do when -E was introduced,
but lkmc_nonet prompted me to do it nicer now.

Use the common script to find the out_dir on every toplevel script.

Include usage man pages on README.
2018-03-22 02:47:14 +00:00
Ciro Santilli
2092180ac8 Update GEM5 to master to fix x86 boot via 3feeb994ae613fd6b3734c1a991285b2ecbd1946
See also: http://gem5-users.gem5.narkive.com/CQh9J6fU/fail-to-run-fs-mode-with-linux-kernel-v4-8-13-and-ubuntu-image-16-04-1

Start sketching how to tweak system parameters, number of CPUs works, caches don't.
2018-02-25 20:27:35 +00:00
Ciro Santilli
6420c31986 GEM5 gdb debug
Improve GEM5 documentation in general.

Fix documentation for x86 kernel module debugging example, fop_write had been made static,
and use timer.ko instead of fops which is more reliable and fun.
2018-02-22 10:05:57 +00:00
Ciro Santilli
c052a83205 nokaslr, thanks to @dakami at close #12 2018-02-01 20:27:43 +00:00
Ciro Santilli
b3b1df5560 bak 2017-10-08 17:49:01 +01:00
Ciro Santilli
80889c0376 aarch64, fix gdb with linux-custom 2017-07-12 11:49:58 +01:00
Ciro Santilli
b5cafc8481 mips 2017-06-30 23:42:18 +01:00
Ciro Santilli
3e0b03fc75 Decent multiarch with make O= 2017-06-30 21:10:15 +01:00
Ciro Santilli
41dbf46531 Poll works! 2017-06-08 06:28:41 +01:00
Ciro Santilli
6d2bbab19c KGDB! 2017-05-26 08:54:17 +01:00
Ciro Santilli
960eca1008 ARM 2017-05-22 08:21:33 +01:00
Ciro Santilli
9fdf6bbe20 Integrate lx-symbols! 2017-05-21 11:06:36 +01:00
Ciro Santilli
be9f56cc9b Use buildroot host gdb, consider QEMU and target GDB but give up for now 2017-05-21 10:22:31 +01:00
Ciro Santilli
710e42e80f qemu on background for debug 2017-05-21 09:26:47 +01:00
Ciro Santilli
7f6b148dc4 Split QEMU run, automate GDB debugging 2017-05-20 11:17:37 +01:00