diff mbox series

[PULL,4/4] i386: Add "stibp" flag name

Message ID 20181211205346.11118-5-ehabkost@redhat.com
State New
Headers show
Series [PULL,1/4] x86/cpu: Enable MOVDIRI cpu feature | expand

Commit Message

Eduardo Habkost Dec. 11, 2018, 8:53 p.m. UTC
The STIBP flag may be supported by the host KVM module, so QEMU
can allow it to be configured manually, and it can be exposed to
guests when using "-cpu host".

No additional migration code is required because the whole
contents of spec_ctrl is already migrated in the "cpu/spec_ctrl"
section.

Corresponding KVM patch was submitted at:
https://lore.kernel.org/lkml/20181205191956.31480-1-ehabkost@redhat.com/

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20181210180250.31299-1-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 target/i386/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Tom Lendacky Dec. 12, 2018, 4:57 p.m. UTC | #1
On 12/11/2018 02:53 PM, Eduardo Habkost wrote:
> The STIBP flag may be supported by the host KVM module, so QEMU
> can allow it to be configured manually, and it can be exposed to
> guests when using "-cpu host".
> 
> No additional migration code is required because the whole
> contents of spec_ctrl is already migrated in the "cpu/spec_ctrl"
> section.
> 
> Corresponding KVM patch was submitted at:
> https://lore.kernel.org/lkml/20181205191956.31480-1-ehabkost@redhat.com/
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> Message-Id: <20181210180250.31299-1-ehabkost@redhat.com>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  target/i386/cpu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 86a934d450..12f559b6af 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -1042,7 +1042,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
>              NULL, NULL, NULL, NULL,
>              NULL, NULL, "pconfig", NULL,
>              NULL, NULL, NULL, NULL,
> -            NULL, NULL, "spec-ctrl", NULL,
> +            NULL, NULL, "spec-ctrl", "stibp",

I guess I missed this earlier. Is there a corresponding patch for the AMD
STIBP bit (CPUID 0x80000008_EBX[15]) that is in KVM?

Thanks,
Tom

>              NULL, "arch-capabilities", NULL, "ssbd",
>          },
>          .cpuid = {
>
Daniel P. Berrangé Dec. 12, 2018, 5:01 p.m. UTC | #2
On Wed, Dec 12, 2018 at 04:57:42PM +0000, Lendacky, Thomas wrote:
> On 12/11/2018 02:53 PM, Eduardo Habkost wrote:
> > The STIBP flag may be supported by the host KVM module, so QEMU
> > can allow it to be configured manually, and it can be exposed to
> > guests when using "-cpu host".
> > 
> > No additional migration code is required because the whole
> > contents of spec_ctrl is already migrated in the "cpu/spec_ctrl"
> > section.
> > 
> > Corresponding KVM patch was submitted at:
> > https://lore.kernel.org/lkml/20181205191956.31480-1-ehabkost@redhat.com/
> > 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > Message-Id: <20181210180250.31299-1-ehabkost@redhat.com>
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> >  target/i386/cpu.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> > index 86a934d450..12f559b6af 100644
> > --- a/target/i386/cpu.c
> > +++ b/target/i386/cpu.c
> > @@ -1042,7 +1042,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
> >              NULL, NULL, NULL, NULL,
> >              NULL, NULL, "pconfig", NULL,
> >              NULL, NULL, NULL, NULL,
> > -            NULL, NULL, "spec-ctrl", NULL,
> > +            NULL, NULL, "spec-ctrl", "stibp",
> 
> I guess I missed this earlier. Is there a corresponding patch for the AMD
> STIBP bit (CPUID 0x80000008_EBX[15]) that is in KVM?

This Intel STIBP patch is one that many distros have carried downstream
since the flaw came to light.

I've not seen any equiv patch for AMD STIBP bit, in either QMEU or libvirt,
so guess that's a gap that needs filling.

Regards,
Daniel
Eduardo Habkost Dec. 12, 2018, 5:11 p.m. UTC | #3
On Wed, Dec 12, 2018 at 05:01:10PM +0000, Daniel P. Berrangé wrote:
> On Wed, Dec 12, 2018 at 04:57:42PM +0000, Lendacky, Thomas wrote:
> > On 12/11/2018 02:53 PM, Eduardo Habkost wrote:
> > > The STIBP flag may be supported by the host KVM module, so QEMU
> > > can allow it to be configured manually, and it can be exposed to
> > > guests when using "-cpu host".
> > > 
> > > No additional migration code is required because the whole
> > > contents of spec_ctrl is already migrated in the "cpu/spec_ctrl"
> > > section.
> > > 
> > > Corresponding KVM patch was submitted at:
> > > https://lore.kernel.org/lkml/20181205191956.31480-1-ehabkost@redhat.com/
> > > 
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > Message-Id: <20181210180250.31299-1-ehabkost@redhat.com>
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > ---
> > >  target/i386/cpu.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> > > index 86a934d450..12f559b6af 100644
> > > --- a/target/i386/cpu.c
> > > +++ b/target/i386/cpu.c
> > > @@ -1042,7 +1042,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
> > >              NULL, NULL, NULL, NULL,
> > >              NULL, NULL, "pconfig", NULL,
> > >              NULL, NULL, NULL, NULL,
> > > -            NULL, NULL, "spec-ctrl", NULL,
> > > +            NULL, NULL, "spec-ctrl", "stibp",
> > 
> > I guess I missed this earlier. Is there a corresponding patch for the AMD
> > STIBP bit (CPUID 0x80000008_EBX[15]) that is in KVM?
> 
> This Intel STIBP patch is one that many distros have carried downstream
> since the flaw came to light.
> 
> I've not seen any equiv patch for AMD STIBP bit, in either QMEU or libvirt,
> so guess that's a gap that needs filling.

I can submit a "amd-stibp" patch for completeness, although I
doubt many people will actually use the flag.
diff mbox series

Patch

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 86a934d450..12f559b6af 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -1042,7 +1042,7 @@  static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
             NULL, NULL, NULL, NULL,
             NULL, NULL, "pconfig", NULL,
             NULL, NULL, NULL, NULL,
-            NULL, NULL, "spec-ctrl", NULL,
+            NULL, NULL, "spec-ctrl", "stibp",
             NULL, "arch-capabilities", NULL, "ssbd",
         },
         .cpuid = {