linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Wanpeng Li <kernellwp@gmail.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	LKML <linux-kernel@vger.kernel.org>, kvm <kvm@vger.kernel.org>,
	"Radim Krčmář" <rkrcmar@redhat.com>
Subject: Re: [PATCH] KVM: X86: Allow userspace to define the microcode version
Date: Wed, 18 Apr 2018 06:03:29 -0300	[thread overview]
Message-ID: <20180418090329.GJ29865@localhost.localdomain> (raw)
In-Reply-To: <CANRm+CwA22VmpA5cfQg8mF_Xke_hXtP+_ui5xU+LV8v0JNj=3Q@mail.gmail.com>

On Wed, Apr 18, 2018 at 11:24:22AM +0800, Wanpeng Li wrote:
> 2018-04-18 4:24 GMT+08:00 Eduardo Habkost <ehabkost@redhat.com>:
> > On Tue, Apr 17, 2018 at 06:40:58PM +0800, Wanpeng Li wrote:
> >> Cc Eduardo,
> >> 2018-02-26 20:41 GMT+08:00 Paolo Bonzini <pbonzini@redhat.com>:
> >> > On 26/02/2018 13:22, Borislav Petkov wrote:
> >> >> On Mon, Feb 26, 2018 at 01:18:07PM +0100, Paolo Bonzini wrote:
> >> >>>> In this context, "host-initiated" write means written by KVM userspace
> >> >>>> with ioctl(KVM_SET_MSR).  It generally happens only on VM startup, reset
> >> >>>> or live migration.
> >> >>>
> >> >>> To be clear, the target of the write is still the vCPU's emulated MSR.
> >> >>
> >> >> So how am I to imagine this as a user:
> >> >>
> >> >> qemu-system-x86_64 --microcode-revision=0xdeadbeef...
> >> >
> >> > More like "-cpu foo,ucode_rev=0xdeadbeef".  But in practice what would
> >> > happen is one of the following:
> >> >
> >> > 1) "-cpu host" sets ucode_rev to the same value of the host, everyone
> >> > else leaves it to zero as is now.
> >>
> >> Hi Paolo,
> >>
> >> Do you mean the host admin to get the ucode_rev from the host and set
> >> to -cpu host, ucode_rev=xxxxxx or qemu get the ucode_rev directly by
> >> rdmsr?
> >
> > QEMU setting ucode_rev automatically using the host value when
> > using "-cpu host" (with no need for explicit ucode_rev option)
> > makes sense to me.
> 
> QEMU can't get the host value by rdmsr MSR_IA32_UCODE_REV directly
> since rdmsr will #GP when ring !=0, any idea?

By looking at kvm_get_msr_feature(), it looks like
ioctl(system_fd, KVM_GET_MSRS) would return the host MSR value
for us.

-- 
Eduardo

  reply	other threads:[~2018-04-18  9:03 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-26  7:23 [PATCH] KVM: X86: Allow userspace to define the microcode version Wanpeng Li
2018-02-26  9:41 ` Borislav Petkov
2018-02-26 10:06   ` Wanpeng Li
2018-02-26 10:49     ` Borislav Petkov
2018-02-26 11:02       ` Wanpeng Li
2018-02-26 11:16         ` Borislav Petkov
2018-02-26 11:25           ` Wanpeng Li
2018-02-26 11:30             ` Borislav Petkov
2018-02-26 11:37               ` Wanpeng Li
2018-02-26 11:44                 ` Borislav Petkov
2018-02-26 11:52                   ` Wanpeng Li
2018-02-26 11:54                   ` Paolo Bonzini
2018-02-26 12:15                     ` Borislav Petkov
2018-02-26 12:16                       ` Paolo Bonzini
2018-02-26 12:18                         ` Paolo Bonzini
2018-02-26 12:22                           ` Borislav Petkov
2018-02-26 12:41                             ` Paolo Bonzini
2018-02-26 13:05                               ` Borislav Petkov
2018-02-26 14:39                               ` Konrad Rzeszutek Wilk
2018-02-26 14:46                                 ` Paolo Bonzini
2018-02-26 19:37                                 ` Borislav Petkov
2018-02-26 20:51                                   ` Konrad Rzeszutek Wilk
2018-02-26 21:30                                     ` Konrad Rzeszutek Wilk
2018-02-27  8:33                                       ` Paolo Bonzini
2018-03-08  9:24                                       ` [tip:x86/pti] x86/spectre_v2: Don't check microcode versions when running under hypervisors tip-bot for Konrad Rzeszutek Wilk
2018-04-17 10:40                               ` [PATCH] KVM: X86: Allow userspace to define the microcode version Wanpeng Li
2018-04-17 20:24                                 ` Eduardo Habkost
2018-04-18  3:24                                   ` Wanpeng Li
2018-04-18  9:03                                     ` Eduardo Habkost [this message]
2018-04-18 10:36                                       ` Paolo Bonzini
2018-04-23 12:58                                         ` Borislav Petkov
2018-04-23 13:08                                           ` Eduardo Habkost
2018-04-23 13:23                                             ` Borislav Petkov
2018-04-23 16:03                                           ` Paolo Bonzini
2018-04-24  2:59                                         ` Wanpeng Li
2018-04-24  3:14                                           ` Konrad Rzeszutek Wilk
2018-04-24  5:09                                             ` Paolo Bonzini
2018-04-24 13:44                                               ` Konrad Rzeszutek Wilk
2018-04-24  2:56                               ` Wanpeng Li
2018-02-26 11:47       ` Paolo Bonzini
2018-02-26 12:20         ` Borislav Petkov
2018-02-26  9:26 Liran Alon
2018-02-26 10:08 ` Wanpeng Li

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=20180418090329.GJ29865@localhost.localdomain \
    --to=ehabkost@redhat.com \
    --cc=bp@alien8.de \
    --cc=kernellwp@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.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).