-
Notifications
You must be signed in to change notification settings - Fork 8
mjanusz/v86d
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
v86d -- A x86 Emulation Daemon ------------------------------ 1. Purpose ---------- v86d provides a backend for kernel drivers that need to execute x86 BIOS code. The code is executed in a controlled environment and the results are passed back to the kernel via the netlink interface. 2. Suported architectures ------------------------- This version of v86d supports the following architectures: x86, x86-64 (amd64). 3. Configuration ---------------- 3.1. The C library ------------------ v86d can be compiled against two different C libraries: glibc and klibc, glibc being the default. Compiling against glibc will result in a dynamically linked executable that is not suitable for inclusion in initrds. Compiling against klibc will result in a relatively small, statically linked binary, which can be included in an initrd. To compile v86d against klibc, run ./configure --with-klibc after making sure that a recent (1.4 or newer) version of klibc is installed on your system. 3.2. The emulator backend ------------------------- On x86, the code executed by v86d can be run either in a fully software-emulated environment (x86emu) or a virtualized environment (vm86) supported by the CPU. On other arches or 64-bit systems, the code is always run by x86emu. To choose the x86emu backend on a x86 system, run ./configure --with-x86emu. 4. Installation & Usage ----------------------- To configure, build and install v86d with the default settings, run: # ./configure --default # make # make install If the kernel that you're currently running doesn't provide uvesafb, you can use the KDIR variable to point make to a different kernel tree (e.g. `make KDIR=/usr/src/linux`). v86d isn't meant to be used in an interactive way. It should be started and called by the kernel. If you want to see it in action, build and load the uvesafb kernel module. If you want to include v86d into an initramfs image, misc/initramfs provides a minimal config file parsable by gen_init_cpio. 5. Licensing ------------ v86d is licensed under GPL v2. -- Michal Januszewski <[email protected]>