Commit Graph

198 Commits

Author SHA1 Message Date
Ciro Santilli 六四事件 法轮功
e32b1cba45 ./build-userland: resolve relative paths 2019-03-13 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
2b93b18646 run: --trace-insts-stdout 2019-02-20 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
a8b6f758ba split --prebuilt and --host into --gcc-which and --qemu-which
Only one --host exists at ./build-modules, since that can select the host
kernel, which is independent from the toolchain.

Document that user mode simulation stopped working.
2019-02-16 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
1e2b7f1e5e arm baremetal: svc, get closer but not there yet 2019-02-06 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
325bef81bb run: --debug-vm-args: imply --debug-vm 2019-02-05 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
64dbf624db gem5: update to 9048ef0ffbf21bedb803b785fb68f83e95c04db8
--generate-dtb was removed and is set by default now
2019-01-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
4f6051af1d build android sketch 2019-01-23 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
da900a579c LKMC v3.0
This is a squash commit, the unsquashed development went through many
unstable phases which would break bisects. The unsquashed branch is:
https://github.com/cirosantilli/linux-kernel-module-cheat/tree/v3.0-unsquash

The main improvement of this release was to greatly generalize the testing system.

The key addition was cli_function.py, which allows scripts such as ./run to
be transparently called either from Python or from the command line.

New tests scripts were created using this improved framework: test-baremetal
and test-user-mode.

We were lazy to port some of less important tests to the new setup, TODO's were
added, and we need comes they will be fixed. Getting started is however sacred
as usual and should work.

Other changes include:

-   gem5: update to 7fa4c946386e7207ad5859e8ade0bbfc14000d91

-   run: --tmux-args implies --tmux

-   run: add --userland-args to make userland arguments across QEMU and gem5

    Get rid of --userland-before as a consequence.

-   bring initrd and initramfs back to life

-   build-userland: create --static to make build a bit easier

-   gem5: --gem5-worktree also set --gem5-build-id

-   remove --gem5, use --emulator gem5 everywhere

    Allow passing --emulator multiple times for transparent tests selection
    just like --arch.

-   test-userland: allow selecting just a few tests

-   linux: update to v4.20

-   buildroot: update to 2018.08

    The main motivation for this was to fix the build for Ubuntu 18.10, which
    has glibc 2.28, which broke the 2018.05 build at the m4-host package with:

        #error "Please port gnulib fseeko.c to your platform!

-   getvar --type input

-   failed xen attempt, refactor timer, failed svc attempt, aarch64 use gicv3

-   build-doc: exit 1 on error, add to release testing

-   build: add --apt option to make things easier on other distros

-   build-linux: --no-modules-install
2019-01-22 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
cb32b2994c gem5: use --generate-dtb by default 2018-12-04 15:10:02 +00:00
Ciro Santilli 六四事件 法轮功
61fa99844a run: minor style 2018-12-04 15:10:02 +00:00
Ciro Santilli 六四事件 法轮功
bc9e348a44 start simple integration to test dp650
Not yet merged on gem5 mailine, review published at:
https://gem5-review.googlesource.com/c/public/gem5/+/11036/1
2018-12-04 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
bf54be658e run: comments 2018-11-29 15:07:02 +00:00
Ciro Santilli 六四事件 法轮功
2a16ddc1bf run: trace to stdout 2018-11-29 15:07:02 +00:00
Ciro Santilli 六四事件 法轮功
ba2976cc7f gem5: fix arm multicore with system.auto_reset_addr = True
baremetal: fix aarch64/no_bootloader/semihost_exit.S which was wrong
because was using unset sp for register block. Tests needed urgently!!
2018-11-26 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
2b10066549 run: forward --userland and --baremetal to tmux! It's just beautiful. 2018-11-23 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
f73eaaffd2 prebuilt: automatically pick up qemu from PATH if not built like qemu-img 2018-11-22 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
35ab408e1e gem5: set kvm cpu type for arm 2018-11-22 12:28:07 +00:00
Ciro Santilli 六四事件 法轮功
65d33ab11e run: actually rename ./run --busybox-init to --eval-after
Had just changed the CLI parameter but nothing else!

Had half worked because Python argparse is insane and accepts substrings
like --eval-a.

Fix #43
2018-11-20 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
c2ac65a807 docker: split minimum setup to separate script 2018-11-17 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
1fda6357c3 gdb: stub for testing userland
Not working because cannot find, requires moving --userland to common.py
2018-11-15 20:07:47 +00:00
Ciro Santilli 六四事件 法轮功
95c1800b0e run: dont break on userland due to missing termout file 2018-11-15 20:07:47 +00:00
Ciro Santilli 六四事件 法轮功
425fb26736 run: fix error log parsing 2018-11-13 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
238f1ad1c0 common: add --qemu option to override configs 2018-11-13 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
a06872241b the docker setup is perfect 2018-11-11 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
32420eec33 download-dependencies: merge into ./build --download-dependencies
Reuses the module system dependencies present there.

run: make --dry-run work even when there is no out directory yet

docker: make the wrapping more intuitive
2018-11-10 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
e0dbe2416d gdb: create some automated tests with pytest
gem5 baremetal: use m5exit m5op in exit() so as to not force users to
apply a patch for almost all examples
2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
b1e16a59a1 baremetal: exit at the end of main instead of infinite loop
run: interpret lkmc_test_fail as the last line of test as an error
2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
ba570f57f3 gem5: update to 121160d97f3d41220a26d3371a277434c3defea3 2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
49b2b1b896 baremetal: remove panic_on_panic from gem5
Fixes error:

    tried to set or access non-existentobject parameter: panic_on_panic
2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
d39d5b8154 run: add --background option 2018-11-07 05:48:13 +00:00
Ciro Santilli 六四事件 法轮功
8fb9db3931 manually encode newlines on all printed commands
This way we group key value arguments: e.g.:

    make \
    -j 8 \
    all

instead of:

    make \
    -j \
    8 \
    all

and reach CLI nirvana, while also subtly breaking several commands due to
lack of testing.
2018-11-04 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
9693c23fe6 gdb userland and gdbserver are perfect 2018-11-03 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
34ee5f2fbf ./run --debug-vm: pass GDB arguments to the option on the CLI.
readme: remote g packet reply is too long

Benchmark gem5 single file rebuild
2018-11-02 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
9571747859 kgdb is perfect
baremetal works on docker. Missing deps + virtfs now skips missing dirs.
2018-11-02 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
1cd1e58b02 I understand kdb, now missing fix and document arm failures 2018-11-01 23:00:01 +00:00
Ciro Santilli 六四事件 法轮功
8e07146606 kgdb kdb is broken, do I care? 2018-10-31 20:00:04 +00:00
Ciro Santilli 六四事件 法轮功
e042a1b2ad console: make awesome 2018-10-31 21:00:03 +00:00
Ciro Santilli 六四事件 法轮功
911dd8be32 remove some more kernel_module- references
make kgdb x86_64 work once again, now pending a decent serial refactor
2018-10-31 23:00:01 +00:00
Ciro Santilli 六四事件 法轮功
4f47491482 userland: make uber awesome with --baremetal-like executable resolution 2018-10-30 22:00:02 +00:00
Ciro Santilli 六四事件 法轮功
b5b646ffd4 qemu: document GDB user mode, fix some stuff 2018-10-29 22:00:02 +00:00
Ciro Santilli 六四事件 法轮功
a29b5a41fb gem5: expose syscall emulation with --user
Then also expose QEMU user mode with --user. Docs not perfect yet,
would require a build alternative for userland/ for -static and or
passing options before the QEMU userland executable with a new CLI.
2018-10-29 22:00:02 +00:00
Ciro Santilli 六四事件 法轮功
11fedc6045 gem5: document that arm v4.18 kernel boot was fixed
Fixed by gem5 commit 33b311d8d8b8d527d500d62a35b50be63e41b556

Automatically pass parnic_on_panic for archs that support it.
2018-10-28 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
ceb64ab8e1 gem5: use --param to automate aarch64 baremetal BS, oh yeah 2018-10-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
0edf7575cd gem5: update to d4b3e064adeeace3c3e7d106801f95c14637c12f
Mostly for --param to control debug properly.

Less README workarounds, more ./run automation, oh yeah.
2018-10-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
a68c97ae42 merge run-gem5-se into run
This way it can re-use run functionality, notably setting gem5.opt
generic args, and putting m5out where it belongs.
2018-10-26 00:00:05 +00:00
Ciro Santilli 六四事件 法轮功
98d2c83317 echo key configs as bash commands 2018-10-25 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
4b99e522dd common.run_cmd: assert result == 0 by default 2018-10-23 09:58:30 +01:00
Ciro Santilli 六四事件 法轮功
98bada1e7c getting started: explain 9p module rebuild
split networking and filesystem toplevel secions

create closest overlayfs attempt so far and document it
2018-10-14 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
ce216152dd kernel cli: rw by default 2018-10-12 09:30:33 +01:00
Ciro Santilli 六四事件 法轮功
bc73cebff1 Build the Linux kernel independently from Buildroot
This will allow for other types of root filesystems that don't rely on Buildroot
to be added and used in the future.

Propagate --verbose on all build scripts to see full GCC commands.

build-all: allow for neat subsets

also 9p share rootfs_overlay. TODO document.
2018-10-12 09:30:33 +01:00