From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [Xen-devel] [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy Date: Mon, 8 Feb 2016 11:31:04 -0500 Message-ID: <56B8C2C8.8050406@oracle.com> References: <1454733014-15237-1-git-send-email-mcgrof@kernel.org> <1454733014-15237-4-git-send-email-mcgrof@kernel.org> <20160206085930.GF25240@wotan.suse.de> <20160206220437.GA4435@pd.tnic> <56B8B6BF.6030007@oracle.com> <20160208155507.GF28980@pd.tnic> <56B8BCDB.9040701@citrix.com> <56B8BE58.6070003@oracle.com> <56B8C1BC.9040603@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <56B8C1BC.9040603@citrix.com> Sender: linux-kernel-owner@vger.kernel.org To: Andrew Cooper , Borislav Petkov Cc: X86 ML , david.e.box@intel.com, Andrey Ryabinin , Lv Zheng , Jan Beulich , "H. Peter Anvin" , qiuxishi@huawei.com, cocci@systeme.lip6.fr, Xen Devel , Joerg Roedel , "Rafael J. Wysocki" , Robert Moore , Ingo Molnar , Andrey Ryabinin , Mauro Carvalho Chehab , "Luis R. Rodriguez" , Rusty Russell , Thomas Gleixner , mcb30@ipxe.org, Juergen Gross , "linux-kernel@vger.kernel.org" , Andy Lutomirski , "Luis R. Rodriguez" , long.wanglong@huawei.com, Fengguang Wu List-Id: xen-devel@lists.xenproject.org On 02/08/2016 11:26 AM, Andrew Cooper wrote: > On 08/02/16 16:12, Boris Ostrovsky wrote: >> >> On 02/08/2016 11:05 AM, Andrew Cooper wrote: >>> For compatibility with other virtualisation specs, Xen's cpuid leaves >>> shift depending on configuration. >>> >>> Spec at >>> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/include/public/arch-x86/cpuid.h;h=d709340f18d089560b959835eabb7b6609542c7e;hb=HEAD#l33 >>> >>> >>> Basically, they are either at 0x40000000, or 0x40000100 if viridian or >>> vmware compatibility has been enabled. >> (Also in arch/x86/include/asm/xen/cpuid.h in Linux tree). > The other complication is that, for a PV guest, you must use the forced > emulation prefix for the cpuid instruction to trap into the hypervisor. > > This either means you must be sure you are under Xen to start with, or > use an extable entry to catch the #UD fault if you are not under Xen. I think we are OK for PV because this code will be executed after pvops are set and so we will be calling xen_cpuid(). -boris