Files
linux-kernel-module-cheat/CONTRIBUTING.adoc
Ciro Santilli af210a7671 Move arm to virt armv7, unify arm QEMU and gem5 builds
gem5 requires armv7, and we learnt that the versatiledb we were using
was pre-v7.

We could have moved to -M vexpress-*, but in the end decided to go for
-M virt due to its simpliciy, and uniformity with aarch64.

platform_device: does not work anymore and was removed, since it was tied
to versatilepb.

We left a mention on the README and removed all in tree source. The QEMU
patch is still left as it was.

As a consequence, the linux tree had no other patches, and we now use
vanilla linux by default, which is a great thing for reproducibility.

Another consequence is the /poweroff.out works for arm -M virt,
and we removed all mentions of the problem.
2018-04-19 23:38:17 +01:00

43 lines
817 B
Plaintext

= CONTRIBUTING
== Testing
Testing that should be done for every functional patch.
=== Guest testing
....
./run -a x86_64 -e '- lkmc_eval="/insrm.sh hello 5;/sbin/ifup -a;wget -S google.com;poweroff;"'
./run -a arm -e '- lkmc_eval="/insrm.sh hello 5;/sbin/ifup -a;wget -S google.com;poweroff;"'
....
Should:
* boot
* show `hello.ko` `init` and `exit` messages
* make a network request
* shutdown gracefully
TODO automate all of this with a `/test-all.sh` script in guest which outputs to stdout `LKMC_TEST_PASS` or `LKMC_TEST_FAIL` and grep that from host.
=== Host testing
Shell 1:
....
./run -d
....
Shell 2:
....
./rungdb start_kernel
....
Should break GDB at `start_kernel`.
Then proceed to do the following tests:
* `/count.sh` and `b sys_write`
* `insmod /timer.ko` and `b lkmc_timer_callback`