573 Commits

Author SHA1 Message Date
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 六四事件 法轮功
9f6ddbc436 parsec: fix package name on README with underscore 2018-12-10 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
d569854ae1 kernel: add section about /proc/version
Customize user, host and date
2018-12-05 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
4f115bbde3 gem5: improve factoring of gem5 linux kernel build references 2018-12-04 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
f8d9514e79 add --custom-config-file-gem5 option to build gem5 kernels more easily 2018-12-04 15:10:02 +00:00
Ciro Santilli 六四事件 法轮功
f03e6ea2eb linux: add --linux-source-dir to have custom linux source dir 2018-12-04 15:10:02 +00:00
Ciro Santilli 六四事件 法轮功
38ba2b85fc gem5 display: a bit more info on dp650 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 六四事件 法轮功
aefe11ab17 gem5: how to get the gem5 linux 2018-11-29 15:07:02 +00:00
Ciro Santilli 六四事件 法轮功
c76e700903 gdb: better test command 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 六四事件 法轮功
54e15e0433 multicore: remove references to PCSI 2018-11-26 00:00:00 +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 六四事件 法轮功
747da3b417 baremetal: aarch64 multicore works!!! 2018-11-23 00:00:02 +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 六四事件 法轮功
7816f1f635 trace: improve a bit, fix bugs 2018-11-23 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
b57cf380f5 baremetal: document the bootloaders 2018-11-22 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
8dd01415f5 baremetal: only rebuild required files based on mtime
Move multcore test up with bootloader.
2018-11-22 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
701bf6703b more info on gem5 prebuilt support 2018-11-22 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
de05e91689 baremetal: arm multicore attempt 2018-11-22 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
d6905e28f1 readme: minor fixes 2018-11-22 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
70d26c7547 CONFIG_HAVE_KERNEL_UNCOMPRESSED=y is s390 only 2018-11-21 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
0e9d24c592 kvm: arm stub 2018-11-21 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
8e036992fa prebuilt: tell users to checkout ot latest tag, otherwise too unstable 2018-11-20 00:00:00 +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 六四事件 法轮功
35684b1b7e arm exception level emulator entry examples 2018-11-20 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
07000300ab userland: support arch specific examples 2018-11-20 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
985913e1e6 prepare for kvm testing 2018-11-19 22:35:16 +00:00
Ciro Santilli 六四事件 法轮功
2684133597 build-gem5: use arm-linux-gnueabihf- to match build -D 2018-11-17 19:42:33 +00:00
Ciro Santilli 六四事件 法轮功
0bd53a46f6 getting started: some small fixes 2018-11-15 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
77e90f2d37 downgrade linux: Buildroot patching 2018-11-15 10:15:07 +00:00
Reveriel
996e4253c0 README: fix some error. 2018-11-14 09:45:49 +00:00
Ciro Santilli 六四事件 法轮功
f06e26f865 downgrade linux kernel: you may need to change this repo to match buildroot
https://github.com/cirosantilli/linux-kernel-module-cheat/issues/39
2018-11-13 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
e54635c3ab make gdb test automation even awesomer 2018-11-13 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
a06872241b the docker setup is perfect 2018-11-11 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
403d4a9d06 docker: migrate to python 2018-11-11 00:00:01 +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 六四事件 法轮功
6c355c80d3 qemu-monitor: migrate to Python!
Just came across the telnet in the stdlib, and got rid of the ugly expect
dependency, nice.

Also implement stdin input now that we have a sane language.
2018-11-10 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
c1f060ca65 test-gdb: find source path correctly
Previously was relying on glob order, and which could pick up the .py
instead of the .c / .S.
2018-11-09 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
5d649377fc build: make baremetal parts more flexible and powerful
Document test-gdb on readme
2018-11-09 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
ce18cdc573 gem5 link benchmark: fix p51 values 2018-11-09 09:33:44 +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 六四事件 法轮功
ed177345af test-kernel-modules: rename to test-modules to match build-modules 2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
fc9e0c28a5 baremetal: create an assert_fail C helper
Create a test for it under interactive/assert_fail.c

Move prompt under interactive

Create baremetal/arch/aarch64/c_from_as.S as an example of calling C
functions from assembly.
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 六四事件 法轮功
753cbe68ff build-buildroot: add the --no-overlay option
Initial motivation: modprobe. More to come most likely.
2018-11-06 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
72167f9f68 bring a minimal buildroot kernel modules example to life
More importantly, to make modules_install on the Linux kernel build.
2018-11-05 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
b5b1245f82 bench-boot: add updated benchmark 2018-11-04 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
196dd616ff better build setups for testing and release 2018-11-03 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
9693c23fe6 gdb userland and gdbserver are perfect 2018-11-03 00:00:01 +00:00