README for xenner ================= summary ------- xenner is a utility which is able to boot xen paravirtualized kernels, without the xen hypervisor, using kvm instead. Check USAGE for informations on how to use these bits. design ------ xenner runs the xen guest kernel and a small xen emulator together as kvm guest. The emulator does the bare minimum needed to make the guest kernel happy. As we run in a vmx container anyway we don't bother checking anything unless absolutely needed. We also don't try to protect the emulator memory against the kernel. xenner itself obviously can't trust the guest and must check things carefully to make sure the guest can't break out. Only domU functionality will be implemented. status ------ CPU emulation works quite well now. Boots all three x86 variants (32bit non-pae, 32bit pae and 64bit) of xen paravirtualized kernels. UP runs fine, SMP is unstable. event channels are working (implemented as daemon). faked libxc library exists, redirecting evtchn calls to the daemon, implementing grant table userspace device functions, making userspace backend drivers work. Tested so far: * xenstored (well, not really a backend driver ...) * xenconsoled * xen-sdlfb * xen-vncfb * "qemu-dm -M xenpv" (replacing xen-*fb in xen 3.2.0). blkback and netback are working. Both are implemented as userspace daemons on top of libxc. They work with both xenners and Xens version of the libxc library, i.e. they can also work as userspace backend drivers for Xen. Tested on both 32bit and 64bit hosts. Lots of bugs probably. Sanity checks might be missing (see the warning above ...). enjoy, Gerd -- Gerd Hoffmann