From: Igor Mammedov <imammedo@redhat.com>
To: Michael Roth <michael.roth@amd.com>
Cc: ehabkost@redhat.com, like.xu@linux.intel.com, armbru@redhat.com,
wei.huang2@amd.com, richard.henderson@linaro.org,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
zhenwei pi <pizhenwei@bytedance.com>,
qemu-devel@nongnu.org, babu.moger@amd.com, pbonzini@redhat.com,
philmd@redhat.com
Subject: Re: [PATCH] target/i386: Fix cpuid level for AMD
Date: Thu, 1 Jul 2021 10:43:13 +0200 [thread overview]
Message-ID: <20210701104313.5b64a9b4@redhat.com> (raw)
In-Reply-To: <162508068941.526217.2563710865841096339@amd.com>
On Wed, 30 Jun 2021 14:18:09 -0500
Michael Roth <michael.roth@amd.com> wrote:
> Quoting Dr. David Alan Gilbert (2021-06-29 09:06:02)
> > * zhenwei pi (pizhenwei@bytedance.com) wrote:
> > > A AMD server typically has cpuid level 0x10(test on Rome/Milan), it
> > > should not be changed to 0x1f in multi-dies case.
> > >
> > > Fixes: a94e1428991 (target/i386: Add CPUID.1F generation support
> > > for multi-dies PCMachine)
> > > Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
> >
> > (Copying in Babu)
> >
> > Hmm I think you're right. I've cc'd in Babu and Wei.
> >
> > Eduardo: What do we need to do about compatibility, do we need to wire
> > this to machine type or CPU version?
>
> FWIW, there are some other CPUID entries like leaves 2 and 4 that are
> also Intel-specific. With SEV-SNP CPUID enforcement, advertising them to
> guests will result in failures when host SNP firmware checks the
> hypervisor-provided CPUID values against the host-supported ones.
>
> To address this we've been planning to add an 'amd-cpuid-only' property
> to suppress them:
>
> https://github.com/mdroth/qemu/commit/28d0553fe748d30a8af09e5e58a7da3eff03e21b
>
> My thinking is this property should be off by default, and only defined
> either via explicit command-line option, or via new CPU types. We're also
> planning to add new CPU versions for EPYC* CPU types that set this
> 'amd-cpuid-only' property by default:
>
> https://github.com/mdroth/qemu/commits/new-cpu-types-upstream
It look like having new cpu versions is enough to change behavior,
maybe keep 'amd-cpuid-only' as internal field and not expose it to users
as a property.
> So in general I think maybe this change should be similarly controlled by
> this proposed 'amd-cpuid-only' property. Maybe for this particular case it's
> okay to do it unconditionally, but it sounds bad to switch up the valid CPUID
> range after a guest has already booted (which might happen with old->new
> migration for instance), since it might continue treating values in the range
> as valid afterward (but again, not sure that's the case here or not).
>
> There's some other changes with the new CPU types that we're still
> considering/testing internally, but should be able to post them in some form
> next week.
>
> -Mike
>
> >
> > Dave
> >
> > > ---
> > > target/i386/cpu.c | 8 ++++++--
> > > 1 file changed, 6 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> > > index a9fe1662d3..3934c559e4 100644
> > > --- a/target/i386/cpu.c
> > > +++ b/target/i386/cpu.c
> > > @@ -5961,8 +5961,12 @@ void x86_cpu_expand_features(X86CPU *cpu, Error **errp)
> > > }
> > > }
> > >
> > > - /* CPU topology with multi-dies support requires CPUID[0x1F] */
> > > - if (env->nr_dies > 1) {
> > > + /*
> > > + * Intel CPU topology with multi-dies support requires CPUID[0x1F].
> > > + * For AMD Rome/Milan, cpuid level is 0x10, and guest OS should detect
> > > + * extended toplogy by leaf 0xB. Only adjust it for Intel CPU.
> > > + */
> > > + if ((env->nr_dies > 1) && IS_INTEL_CPU(env)) {
> > > x86_cpu_adjust_level(cpu, &env->cpuid_min_level, 0x1F);
> > > }
> > >
> > > --
> > > 2.25.1
> > >
> > >
> > --
> > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> >
> >
>
next prev parent reply other threads:[~2021-07-01 8:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-28 13:20 [PATCH] target/i386: Fix cpuid level for AMD zhenwei pi
2021-06-29 14:06 ` Dr. David Alan Gilbert
2021-06-29 21:29 ` Babu Moger
2021-06-30 19:18 ` Michael Roth
2021-07-01 8:43 ` Igor Mammedov [this message]
2021-07-01 20:35 ` Michael Roth
2021-07-02 5:14 ` [External] " zhenwei pi
2021-07-02 15:43 ` Michael Roth
2021-07-02 17:35 ` Eduardo Habkost
2021-07-08 5:11 ` Michael Roth
2021-07-08 13:09 ` 皮振伟
2021-07-02 6:50 ` David Edmondson
2021-07-02 15:40 ` Michael Roth
2021-07-02 17:32 ` Eduardo Habkost
-- strict thread matches above, loose matches on Subject: below --
2021-07-08 0:36 [PATCH] target/i386: suppress CPUID leaves not defined by the CPU vendor Michael Roth
2021-07-08 17:06 ` [PATCH] target/i386: Fix cpuid level for AMD Michael Roth
2021-07-08 21:05 ` Eduardo Habkost
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=20210701104313.5b64a9b4@redhat.com \
--to=imammedo@redhat.com \
--cc=armbru@redhat.com \
--cc=babu.moger@amd.com \
--cc=dgilbert@redhat.com \
--cc=ehabkost@redhat.com \
--cc=like.xu@linux.intel.com \
--cc=michael.roth@amd.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=pizhenwei@bytedance.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=wei.huang2@amd.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.