This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Can VMWare modules run alongside in XEN kernel?

To: "Peter Teoh" <tthtlc@xxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Can VMWare modules run alongside in XEN kernel?
From: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Date: Tue, 14 Aug 2007 02:56:58 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Daniel P. Berrange" <berrange@xxxxxxxxxx>
Delivery-date: Mon, 13 Aug 2007 18:57:53 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <044401c7de15$70483b90$9a010a0a@eeyore>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <007b01c7d8b1$0c3ffe80$2701a8c0@lifeisshort> <200708140204.43163.mark.williamson@xxxxxxxxxxxx> <044401c7de15$70483b90$9a010a0a@eeyore>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.6
> 1. I am not sure what is missing in the Xen hypervisor which will be needed
> by a running VMware module.   But I think it can be specifically patched
> for Vmware.

Well, Xen lacks any form of disk or network IO that VMware could use to 
provide virtual devices to its guests - that's all done by dom0.  dom0 really 
provides all the facilities VMware would need *except* the need to run in 
ring 0.  See below...

> > So theoretically it should be possible to run multiple  
> emulator (for robustness) like VirtualPC, VMWare, Xen all alongside one
> another. What is needed is just another hyper-hypervisor to manage these
> multiple "HYPERVISOR".

As Daniel mentioned, you might be able to use Xen as the hyper-hypervisor if 
you have HVM-capable hardware.  It may be possible to get VMware running in a 
Xen HVM domain which has a "virtual ring 0" to keep VMware happy.

HVM guests can't themselves use the HVM hardware, however.  This is because 
Xen doesn't (yet) provide emulation for it.  So you can't run an HVM guest 
inside a Xen running in an HVM guest.

> 2. As for Linux running in Ring1 running a VMware module, I hope it could
> be done in future.   What is missing in the current XEN hypervisor that
> forbids the guest Linux from running VMware?   Logic is that in software
> anything can be done (ie, if hardware is the limitation, then simulate the
> hardware). Eg, Look at Joanna's New Blue Pill implementation -
> http://bluepillproject.org/ where nested hypervisor is supported.

The VMware module really expects to be run in ring0 directly, so that it can 
bang at the real physical hardware in order to work its magic.  If run in a 
Xen paravirtualised guest at ring 1, that code would cause General Protection 
Faults and crash the guest...  However, appropriate emulations *is* added by 
the combination of Xen and some HVM-capable hardware: VMware should work in 
an HVM guest.


Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

Xen-devel mailing list