Kernel explorations With our child being home sick, I can spend only four hours per day working. I'm also not very efficient because of the missing sleeping hours. This is apparently a classic for parents of young children. With that being said, my current task requires me to port the definitions of the same UIO devices that I was working a few weeks ago to our simulated environment (within QEMU). The porting itself is trivial (a few lines in the device tree, that I know quite well at this point). The testing is not as simple: we don't have a real hardware. QEMU doesn't give us an obvious way to mock the hardware that we are going to work on in the future. I'm attempting to achieve the testing I need by means of some horrible change to the UIO driver of the kernel. Horrible because the driver is generic, and I'm adding a very specific tentacle to it. It will stay there until we have some better way of testing it. Regardless of the nature of my own Frankenstein monster, I finally started to look into the Linux kernel internals.