From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Daniel P. Berrange" Subject: Re: Shell test for pv vs hvm (vs dom0) Date: Mon, 25 Feb 2008 13:45:31 +0000 Message-ID: <20080225134531.GE2614@redhat.com> References: <1203944308.7125.5.camel@lappy> Reply-To: "Daniel P. Berrange" Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: "dan.magenheimer@oracle.com" , "xen-devel@lists.xensource.com" , Alex Williamson List-Id: xen-devel@lists.xenproject.org On Mon, Feb 25, 2008 at 01:40:05PM +0000, Keir Fraser wrote: > Yes, that should work for Linux just fine I think. On x86 at least you also have the option of using dmidecode to detect an HVM guest, looking for 'Xen' in the 'System Information' block. And the 'xen-detect' command in tools/misc/ provides another way to detect presence of Xen PV vs HVM. > On 25/2/08 12:58, "Alex Williamson" wrote: > > > > > On Sat, 2008-02-23 at 08:18 +0000, Keir Fraser wrote: > >> There's no general way to discriminate between HVM and native from a shell > >> script. You might discriminate between HVM and PV on Linux by looking for > >> /sys/hypervisor or /proc/xen. > > > > Isn't something like this generally sufficient for a shell script? > > > > lspci -n | grep -q "5853:0001" > > if [ $? -eq 0 ]; then > > # HVM domain > > elif [ -d /proc/xen ]; then > > if grep -q "control_d" /proc/xen/capabilities; then > > # DOM0 > > else > > # DOMU > > fi > > else > > # Native > > fi > > > > It seems fairly reliable on ia64 for Xen 3.x. Thanks, > > > > Alex > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|