mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 10:15: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.
= user Userland C programs used to test our kernel modules. `sh` programs are simpler, and installed by copying directly with an overlay. C programs require cross compiling, but give us more control over system calls. These programs can also be compiled and used on host. . Standalone .. link:hello.c[] .. link:myinsmod.c[] .. link:myrmmod.c[] .. link:usermem.c[] ... link:pagemap_dump.c[] .. inits .... link:sleep_forever.c[] .... link:poweroff.c[] .... link:init_dev_kmsg.c[] .. link:uio_read.c[] .. link:rand_check.c[] .. x86_64 ... link:rdtsc.c[] ... link:ring0.c[] . Module tests .. link:anonymous_inode.c[] .. link:poll.c[] .. link:ioctl.c[]