From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Borislav Petkov <bp@alien8.de>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: X86 ML <x86@kernel.org>,
david.e.box@intel.com, Andrey Ryabinin <ryabinin.a.a@gmail.com>,
Lv Zheng <lv.zheng@intel.com>, Jan Beulich <JBeulich@suse.com>,
"H. Peter Anvin" <hpa@zytor.com>,
qiuxishi@huawei.com, cocci@systeme.lip6.fr,
Xen Devel <xen-devel@lists.xensource.com>,
Joerg Roedel <joro@8bytes.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Robert Moore <robert.moore@intel.com>,
Ingo Molnar <mingo@redhat.com>,
Andrey Ryabinin <aryabinin@virtuozzo.com>,
Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
"Luis R. Rodriguez" <mcgrof@suse.com>,
Rusty Russell <rusty@rustcorp.com.au>,
Thomas Gleixner <tglx@linutronix.de>,
mcb30@ipxe.org, Juergen Gross <jgross@suse.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andy Lutomirski <luto@amacapital.net>,
"Luis R. Rodriguez" <mcgrof@kernel.org>,
long.wanglong@huawei.com, Fenggu
Subject: Re: [Xen-devel] [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy
Date: Mon, 8 Feb 2016 16:05:47 +0000 [thread overview]
Message-ID: <56B8BCDB.9040701@citrix.com> (raw)
In-Reply-To: <20160208155507.GF28980@pd.tnic>
On 08/02/16 15:55, Borislav Petkov wrote:
> On Mon, Feb 08, 2016 at 10:39:43AM -0500, Boris Ostrovsky wrote:
>> It does. Very much IIRC, the problem was not caused by an access to MSR but
>> rather some sort of address not being available somewhere.
> See below.
>
>>> - microcode application on Xen: we've had this before. The hypervisor
>>> should do that (if it doesn't do so already).
>> it does.
> Good.
>
>>> So yes, that paravirt_enabled() thing should go away. Even more so if we
>>> have CPUID leaf 0x4... reserved for hypervisors.
>> I actually think this was the original proposal until we realized we had
>> paravirt_enabled(). So we can go back to checking CPUID 0x40000000.
>>
>> We might also be able to test for (x86_hyper!=NULL) and have guests that do
>> microcode management prior to init_hypervisor() rely on hypervisors ignoring
>> MSR accesses (as they do today).
> Right, so the early loader can't do that as on 32-bit it runs even
> before paging has been enabled. So I *think* the thing with CPUID would
> be best. What does the xen hypervisor return in regs when I do CPUID(4)?
> I.e., how do I reliably detect it in the guest?
>
> I can whip up a quick patch and get rid of paravirt_enabled() while at
> it...
>
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.
~Andrew
next prev parent reply other threads:[~2016-02-08 16:05 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-06 4:30 [PATCH v2 0/3] paravirt: rebrand paravirt_enabled as paravirt_legacy Luis R. Rodriguez
2016-02-06 4:30 ` [PATCH v2 1/3] paravirt: use bool for paravirt_enabled() and paravirt_has_feature() Luis R. Rodriguez
2016-02-06 4:30 ` [PATCH v2 2/3] paravirt: replace direct access to pv_info.paravirt_enabled Luis R. Rodriguez
2016-02-06 4:30 ` [PATCH v2 3/3] paravirt: rename paravirt_enabled to paravirt_legacy Luis R. Rodriguez
2016-02-06 7:11 ` Andy Lutomirski
2016-02-06 8:59 ` Luis R. Rodriguez
2016-02-06 20:05 ` Andy Lutomirski
2016-02-06 22:04 ` Borislav Petkov
2016-02-08 15:39 ` Boris Ostrovsky
2016-02-08 15:55 ` Borislav Petkov
2016-02-08 16:05 ` Andrew Cooper [this message]
2016-02-08 16:12 ` [Xen-devel] " Boris Ostrovsky
2016-02-08 16:26 ` Andrew Cooper
2016-02-08 16:31 ` Boris Ostrovsky
2016-02-08 16:32 ` Andrew Cooper
2016-02-08 16:35 ` Borislav Petkov
2016-02-08 16:38 ` Andrew Cooper
2016-02-08 16:45 ` Borislav Petkov
2016-02-08 16:52 ` Boris Ostrovsky
2016-02-08 20:45 ` Boris Ostrovsky
2016-02-08 21:06 ` Borislav Petkov
2016-02-08 16:53 ` Andrew Cooper
2016-02-08 17:13 ` Borislav Petkov
2016-02-09 6:22 ` Luis R. Rodriguez
2016-02-08 16:41 ` Boris Ostrovsky
2016-02-08 16:52 ` Borislav Petkov
2016-02-08 15:31 ` Boris Ostrovsky
2016-02-08 15:46 ` Borislav Petkov
2016-02-09 6:59 ` Luis R. Rodriguez
2016-02-08 21:04 ` Andy Lutomirski
2016-02-09 7:06 ` Luis R. Rodriguez
2016-02-17 20:07 ` Luis R. Rodriguez
2016-02-17 20:49 ` Borislav Petkov
2016-02-17 21:12 ` Luis R. Rodriguez
2016-02-17 21:21 ` Boris Ostrovsky
2016-02-17 22:03 ` Borislav Petkov
2016-02-17 22:18 ` Andy Lutomirski
2016-02-17 22:39 ` Boris Ostrovsky
2016-02-17 23:39 ` Borislav Petkov
2016-02-17 22:19 ` Boris Ostrovsky
2016-02-17 22:35 ` Luis R. Rodriguez
2016-02-09 6:41 ` Luis R. Rodriguez
2016-02-08 21:49 ` Boris Ostrovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56B8BCDB.9040701@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=aryabinin@virtuozzo.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=cocci@systeme.lip6.fr \
--cc=david.e.box@intel.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=joro@8bytes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=long.wanglong@huawei.com \
--cc=luto@amacapital.net \
--cc=lv.zheng@intel.com \
--cc=mcb30@ipxe.org \
--cc=mcgrof@kernel.org \
--cc=mcgrof@suse.com \
--cc=mchehab@osg.samsung.com \
--cc=mingo@redhat.com \
--cc=qiuxishi@huawei.com \
--cc=rafael.j.wysocki@intel.com \
--cc=robert.moore@intel.com \
--cc=rusty@rustcorp.com.au \
--cc=ryabinin.a.a@gmail.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).