Hello,
After doing some research, I've decided to go ahead and start a port of
ReactOS to Xen. For those in the Xen community not familiar with ReactOS:
it's an open-source (GPL) re-implementation of the Microsoft Windows
NT-based line of operating systems, aiming to provide binary compatibility
for both applications and drivers
(
http://www.reactos.com). For those in the ReactOS community not familiar
with Xen: it's an open-source (GPL) virtual machine monitor that supports
execution of multiple guest operating systems with unprecedented levels of
performance and resource isolation
(
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html).
Initially I'll focus on getting ReactOS running as a guest OS. This should
benefit ReactOS primarily, since this will make it possible to develop large
parts of ReactOS (everything except for hardware drivers and some low-level
memory management) inside Xen. It will also give ReactOS access to some
hardware not natively supported yet (by using the Linux driver). The benefit
for Xen at this stage would be the development of ReactOS device drivers for
interfacing
with Xen, which could also be used for a Windows XP port. On the longer
term, I see no reason why ReactOS couldn't function as a driver domain. As
driver compatibility improves in ReactOS, this could provide Xen guests
access to hardware for which the manufacturer provides only Windows drivers
(due to Xens nature, not every driver
could be used this way, but I bet a large percentage of the drivers depend
on the kernel to do the really low-level stuff).
All in all, it seems a win-win proposition for both projects. And even more
importantly, I think it's a cool project :-)
I've made a branch in ReactOS svn,
svn://svn.reactos.com/branches/xen, for
this port. Of course, the goal is to merge the changes into trunk
eventually. I expect the port to take at least a few months, my initial
feeling is that it should be done by the end of the year (there's lots of
other stuff in ReactOS I want to work on too). The wiki page at
http://wiki.reactos.com/Xen_port will be used to keep track of progress. The
game plan is just start working from the boot code, until a problem is hit.
Fix that problem and continue until the next problem.
Any support and help from the Xen and ReactOS communities are of course
greatly appreciated.
Gé van Geldorp.