-
Example is in virt/lcd-domains/test-mods/glue-example. It consists of a fake minix and fake vfs. The original "unmodified" code is in minix/original/main.c, vfs/original/main.c, and include/vfs.h. The glue code (written by hand) is in minix/glue and vfs/glue. The IDL is in idl/. You can build the fake minix and vfs for isolation or as regular modules. To build for isolation, run `make menuconfig' and under Test Modules --> Example Exercising IDL and Glue. To run minix and vfs in isolation, install the "boot" module, lcd-test-mod-glue-example-boot.ko. (Its code is under isol-boot/main.c.) The example will print status messages to the kernel logs so you can see a trace of the interaction. A few hacks were necessary to fully exercise all of the code. For example, the fake vfs is the one that invokes new_file and rm_file, in the middle of its dispatch loop. The code for the trampolines in vfs/glue/vfs_caller.{c,lds} is probably the ugliest part. That required a little bit of trickery and low-level hacking.
424ac36d