From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [RFC] CPUID usage for interaction between Hypervisors and Linux. Date: Wed, 01 Oct 2008 15:03:44 -0500 Message-ID: <48E3D7A0.3000403@codemonkey.ws> References: <1222881242.9381.17.camel@alok-dev1> <48E3BBC1.2050607__35819.6151479662$1222884502$gmane$org@goop.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: akataria@vmware.com, kvm@vger.kernel.org, the arch/x86 maintainers , Dan Hecht , LKML , virtualization@lists.linux-foundation.org, "avi@redhat.com" , "H. Peter Anvin" , Ingo Molnar To: Jeremy Fitzhardinge Return-path: Received: from yw-out-2324.google.com ([74.125.46.31]:52360 "EHLO yw-out-2324.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753895AbYJAUEv (ORCPT ); Wed, 1 Oct 2008 16:04:51 -0400 Received: by yw-out-2324.google.com with SMTP id 9so128188ywe.1 for ; Wed, 01 Oct 2008 13:04:49 -0700 (PDT) In-Reply-To: <48E3BBC1.2050607__35819.6151479662$1222884502$gmane$org@goop.org> Sender: kvm-owner@vger.kernel.org List-ID: Jeremy Fitzhardinge wrote: > Alok Kataria wrote: > > No, we're not getting anywhere. This is an outright broken idea. The > space is too small to be able to chop up in this way, and the number of > vendors too large to be able to do it without having a central oversight. > > The only way this can work is by having explicit positive identification > of each group of leaves with a signature. If there's a recognizable > signature, then you can inspect the rest of the group; if not, then you > can't. That way, you can avoid any leaf usage which doesn't conform to > this model, and you can also simultaneously support multiple hypervisor > ABIs. It also accommodates existing hypervisor use of this leaf space, > even if they currently use a fixed location within it. > > A concrete counter-proposal: Mmm, cpuid bikeshedding :-) > The space 0x40000000-0x400000ff is reserved for hypervisor usage. > > This region is divided into 16 16-leaf blocks. Each block has the > structure: > > 0x400000x0: > eax: max used leaf within the leaf block (max 0x400000xf) Why even bother with this? It doesn't seem necessary in your proposal. Regards, Anthony Liguori