From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [RFC] CPUID usage for interaction between Hypervisors and Linux. Date: Wed, 01 Oct 2008 11:36:27 -0700 Message-ID: <48E3C32B.3090701@goop.org> References: <1222881242.9381.17.camel@alok-dev1> <48E3BBC1.2050607@goop.org> <48E3BC47.60900@zytor.com> <48E3BD83.2090801@goop.org> <48E3BE65.2050909@zytor.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: akataria@vmware.com, "avi@redhat.com" , Rusty Russell , Gerd Hoffmann , Ingo Molnar , the arch/x86 maintainers , LKML , "Nakajima, Jun" , Dan Hecht , Zachary Amsden , virtualization@lists.linux-foundation.org, kvm@vger.kernel.org To: "H. Peter Anvin" Return-path: Received: from gw.goop.org ([64.81.55.164]:47470 "EHLO mail.goop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753392AbYJASge (ORCPT ); Wed, 1 Oct 2008 14:36:34 -0400 In-Reply-To: <48E3BE65.2050909@zytor.com> Sender: kvm-owner@vger.kernel.org List-ID: H. Peter Anvin wrote: > With a sufficiently large block, we could use fixed points, e.g. by > having each vendor create interfaces in the 0x40SSSSXX range, where > SSSS is the PCI ID they use for PCI devices. Sure, you could do that, but you'd still want to have a signature in 0x40SSSS00 to positively identify the chunk. And what if you wanted more than 256 leaves? > Note that I said "create interfaces". It's important that all about > this is who specified the interface -- for "what hypervisor is this" > just use 0x40000000 and disambiguate based on that. "What hypervisor is this?" isn't a very interesting question; if you're even asking it then it suggests that something has gone wrong. Its much more useful to ask "what interfaces does this hypervisor support?", and enumerating a smallish range of well-known leaves looking for signatures is the simplest way to do that. (We could use signatures derived from the PCI vendor IDs which would help with managing that namespace.) J