Ian,
Thank you for your detailed report.
> As a user space application, Qemu can't run in the stub domain
> directly, but requires an operating system kernel. The neatest way of
> doing this would be to link qemu against `minios', which is
> effectively a library operating system for just this purpose. Since
> minios makes use of a broad range of libc calls, it is likely that
> minios will take some time to reach the required level of support. In
> the meantime, we can just use a xen linux kernel, with a minimal
> config to keep the size down. Since protection between user space and
> the kernel is irrelevant in the context of running qemu as the sole
> application, we could optimize performance by running user-space at
> the same privilege level as the kernel, effectively turning system
> calls into plain jmp instructions into the kernel followed by a ret to
> return.
Your assessment of Mini-OS's C library support is too bleak. In an
effort to ease the task of writing applications that run in Mini-OS, I
ported a Lua interpreter to it <http://www.lua.org>. The standard Lua
interpreter is patched so that it does not use floating point
operations, and then linked against the newlib C library
<http://sources.redhat.com/newlib/>, a library intended for use on
embedded systems. To make a bootable VM, all of the sources,
including the Mini-OS sources, are compiled with a cross-compiler with
a target of i386-elf. The Mini-OS Makefile provides hooks to make
this all possible. Gregor has a copy of sources.
John
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|