WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] help to understand is_running _on_xen ?

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] help to understand is_running _on_xen ?
From: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Date: Mon, 4 Jun 2007 18:53:08 +0100
Cc: Tristan Gingold <tgingold@xxxxxxx>, "Petersson, Mats" <Mats.Petersson@xxxxxxx>, "Gautham Kampalapur Shankar, TLS, Chennai" <gauthamk@xxxxxx>
Delivery-date: Mon, 04 Jun 2007 10:51:31 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <907625E08839C4409CE5768403633E0B02561DB3@xxxxxxxxxxxxxxxxx>
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: <907625E08839C4409CE5768403633E0B02561DB3@xxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.6
> >    I don't  understand why we check this condition
> > is_running_on_xen  ?In all drivers(front & back) code we are
> > checking this condition ?what is this function stands for ?
> > what it does ?
>
> If you search for "is_running_on_xen" in the Linux tree, you'll find
> that the x86 definition of this is "1" - so any test for this,
> currently, means that it's "true". IA64 is different, at least in the
> exact implementation.
>
> I can't explain this in any othe way than that the plan is to allow for
> drivers to check if they are running on a native platform or running on
> top of Xen, and make decisions (such as "not attempt to make
> hypercalls") based on which case it is - so if we're not running on Xen,
> don't make hypercalls to Xen, because it wont work!

IA64, at least at one stage (not sure of the current status, since there have 
been quite a few changes since I read about this), supported "transparent 
paravirtualisation" whereby the same kernel could run with minimal 
performance loss both on the native hardware and paravirtualised.

The x86 paravirt_ops code for Linux is designed to allow this mode of 
operation for x86_32 systems also (and presumably, eventually it'll work for 
x86_64).

It doesn't make any sense to enable the Xen-aware drivers when not running on 
Xen - they won't work as the platform features they require (hypercalls etc) 
are not present.

is_running_on_xen() may be defined to 1 (as in the linux-sparse tree supplied 
with Xen) if the kernel is only ever intended to run paravirtualised, or if 
the kernel is capable of transparent paravirtualisation it may call to a 
function which checks for the presence of Xen and returns nonzero only if Xen 
is available.

HTH,
Cheers,
Mark

-- 
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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>