Skip to content
  • Charlie Jacobsen's avatar
    Adds full functioning example with glue code. · 424ac36d
    Charlie Jacobsen authored and Vikram Narayanan's avatar Vikram Narayanan committed
    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