Commit Graph

144 Commits

Author SHA1 Message Date
Ciro Santilli 六四事件 法轮功
f2713e69f6 Don't pass dummy disk images to gem5
After https://gem5.atlassian.net/browse/GEM5-337:

- gem5 baremetal can run without any disk images, just like QEMU
- gem5 X86 can run with a single disk image and no horrendous dummy vmlinux
  and second disk image
2020-02-14 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
17fba4a968 gem5: update to 1db7ecb4ce46e4ea525e6564032b4486c72c1c41
M5_PATH is not needed anymore, get rid of it!
2020-02-13 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
0bc76fc582 gem5: bring fast build back to life and benchmark it on busy loop 2020-01-22 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
fbc757aa57 common: update userland kernel version to 5.4.3, had forgotten it on kernel module update 2020-01-14 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
ae758f589a boost: start 2020-01-08 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
b15a0e455d run: --linux-exec to override the Linux image used
Explain about gem5 upstream prebuilts.
2020-01-05 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
e9b0450461 common: add --configure to make configure optional on build 2019-12-27 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
998e37aa42 gem5: setup SE.py --host dynamic linked executable variables 2019-11-28 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
5d233f2664 gem5: update to bcf041f257623e5c9e77d35b7531bae59edc0423
This notably allow dynamic linking to work! Move entire README to it.

Also:

- explain what Dhrystone does and run it on gem5 to get DMIPS
- create getprops
- ./test-executables don't test files that start with "tmp."
2019-11-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
62930b6acf Make --host work for ./build-userland, ./build-dhrystone, etc. in addition to just ./build-modules 2019-11-27 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
c3f2045e1f stream: play with the STREAM benchmark 2019-11-27 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
ff14f6bdcf build-dhrystone: use copy_overlay env 2019-11-25 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
9dfcb316bf start moving algorithm in 2019-11-18 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
daf6c890b2 Don't copy static userland builds into out_rootfs_overlay by default.
I was doing that by mistake too often. To force it, use --copy-overlay.

This mechanism might also be useful for future userland content.
2019-11-15 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
adf3ab1288 --gem5-clang takes precedence over --gem5-worktree in setting --build-id
We are more likely to want to do a clang master test build separate from
the main master.
2019-11-14 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
3808df4175 common: rename --clang to --gem5-clang
The option was hard to understand, and this would cause ambiguity
if we ever support something else with the same option, e.g. rootfs
or userland executables.
2019-11-14 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
6936bd6ba9 how to update gcc
Automatically add extra remotes from ./build.
2019-10-31 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
59f96b192a dhrystone: create nicer custom build, baremetal almost working 2019-10-18 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
14a1bb62b6 common: remove common_c refactoring artifact 2019-10-18 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
fa167c6c9a common: report all possible valid paths for invalid ./build-baremetal target 2019-10-16 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
eee6c825c3 qemu: allow turning -O0 debug build on or off, use -O0 by default
OMG, I was wasting time in ARM all along!!!
2019-08-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
677b4646bb get rid of machine2, that was too insane 2019-08-27 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
9524307c0d build-doc: verify that there are no github readme links 2019-08-25 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
6f88fa17bc gem5: minimally test VExpress_GEM5_V2 2019-08-21 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
84f88e5770 fix arm timer baremetal! 2019-08-06 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
dcdbdf1281 linux: update to v5.2.1
Improve the release procedure description.
2019-07-19 06:59:14 +01:00
Ciro Santilli 六四事件 法轮功
7b0ac771dc relase: get failed extract-vmlinux automation back working
Only the command is back in business, but it does not work:
https://github.com/cirosantilli/linux-kernel-module-cheat/issues/79
2019-07-14 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
d334a0db53 gem5: fix --gem5-readfile
Was completely broken due to confusion between --gem5-readfile and a common
variable with the same name which referred to the file path... OMG.

Conclusion: no one has ever used this tutorial!

Improve ./gem5.sh documentation.

Also fix ./gem5-bench-dhrystone.
2019-07-13 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
2438410c25 gem5: put m5 back in path, was in lkmc/bin/m5
It is a dilemma to do this or not, since all other test execs are
not in /bin, but I'll go with "this is not just a random test program" for
now. Let's see.

Checkpointing: correctly sort fs.py checkpoints numerically, was only
working previously due to coincidence.
2019-07-11 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
28cd27f969 Move all non-README links to cirosantilli.com where the file is not cut off... 2019-07-07 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
3fdd83c2c5 Rationalize -mcpu for emulators, compilers and assemblers on ARM
Move SVE example in from arm-assembly-cheat.

atomic.cpp aarch64 add LSE ldadd placeholder, not compiling yet
2019-06-26 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
88a1c914c9 c++: move atomic in from cpp-cheat
TODO: README improve, link to x86 LOCK docs
2019-06-26 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
45f2d630cb shell_helpers: create a check_stdout
./build-doc --dry-run was failing if asciidoctor is not installed

Also catch BrokenPipeError on ./build --dry-run all | less if you quit less quickly.
2019-06-21 08:55:24 +01:00
Ciro Santilli 六四事件 法轮功
89084d2332 baremetal aarch64: timer.c get closer to working 2019-06-16 12:29:10 +01:00
Ciro Santilli 六四事件 法轮功
5f935ee53d readme: verify all non-README links with asciidoctor/extract-header-ids and git grep
Fix all the ~30 failures it found!
2019-06-09 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
776c859d86 arm: set userland prefix correctly for arm hosts 2019-06-07 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
fedb68c62c merge test-user-mode and test-baremetal into test-executables
Differentiate with --mode userland vs --mode baremetal.

The code was basically copied, now it's DRY.
2019-05-29 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
6994dc21af test-gdb: can now run in either userland or baremetal modes
Selection with --mode userland (default because has x86_64) or --mode baremetal.

This is the first userland tool where this choice is done on the command line,
which led to a refactor of supported_archs and is_baremetal and is_userland
into a single self.env['mode'].
2019-05-29 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
e7494419fc test-gdb userland 2019-05-28 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
cd44e3b5e2 test-gdb: exit gracefully on failure instead of raising
Just print the traceback instead.

Pass extra CLI options to produce nicer output like --no-show-stdout.
2019-05-28 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
48079d0843 crosstool-ng: update to crosstool-ng-1.24.0
Fix https://github.com/cirosantilli/linux-kernel-module-cheat/issues/68

Copy source tree into build dir since ./ctng started failing out of tree.
I give up.
2019-05-27 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
8138e68810 update kernel version everywhere 2019-05-25 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
add6eedb76 baremetal: all examples working, all failures accounted for!
SIMD&FP is now enabled in arm from bootloader.
2019-05-25 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
05aa5c7c79 baremetal: build userland/ programs using baremetal path property instead of symlinks
Otherwise I'll go crazy with symlink action.
2019-05-24 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
c8c4f89854 asm: make use regular asserts that will just work on baremetal
Previously had wonky line pointer in asm_main. New interface simpler and more portable.

Add tests for ASSERT_EQ_ and family in arm and aarch64, previously on x86_64.

ASSERT_EQ_ and family in ARM can now either take =123, =addr or var, before this
the = was added on macros so var was not possible.

Define the main function directly in assembly, the C driver was useless.
2019-05-23 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
6fe9e5bae7 baremetal: symlink all programs that currently run on both userland and baremetal 2019-05-21 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
c247f98d23 common: emulator name normalize shorthand to full on test results 2019-05-21 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
01984c2201 test-boot: run in parallel
--quit-after-boot: fix for gem5, update path to gem5.sh

Improve the printing of results and errors:

- remove newlines from IDs at the end for ./test-boot
- remove newlines from progress for __call__ commands and don't print executed commands at all,
  otherwise there are too many lines per test and it is hard to tell what is going on
- print backtraces for any exception in the threads (bugs while developing this code)

Tests across different archs and emulators are still not running in parallel,
which is a huge loss. TODO.

thread_pool: introduce with API. This was motivate by test-boot, I've had enough
of doing separate error handling for each loop type! Greatly dries up the code, awesome.

common: make --all-emulators work properly with native hopefully for the last time,
./test-baremetal was still failing.

gem5: don't pass --command-line for baremetal. Maybe later we can use it to actually
pass command line arguments to main()? To be seen.
2019-05-21 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
878eb0ad98 build: use just gcc instead of x86_64-linux-gnu-gcc when host arch == target arch and --gcc-which host
This is particularly important to easily build userland content on host,
as different distros will have different prefixes as mentioned at:
https://github.com/cirosantilli/linux-kernel-module-cheat/issues/66
2019-05-21 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
635e5e3133 build-baremetal: enable parallel build and target selection just like build-userland
The factoring out also led to some small bugs being found and solved ;-)
2019-05-17 00:00:00 +00:00