mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 18:25:57 +01:00
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.
43 lines
817 B
Plaintext
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`
|