From: "Richard W.M. Jones" <rjones@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Babu Moger <babu.moger@amd.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PULL 09/12] i386: Allow TOPOEXT to be enabled on older kernels
Date: Thu, 9 Aug 2018 21:29:52 +0100 [thread overview]
Message-ID: <20180809202952.GH16293@redhat.com> (raw)
In-Reply-To: <20180625222524.382-10-ehabkost@redhat.com>
On Mon, Jun 25, 2018 at 07:25:21PM -0300, Eduardo Habkost wrote:
> From: Babu Moger <babu.moger@amd.com>
>
> Enabling TOPOEXT feature might cause compatibility issues if
> older kernels does not set this feature. Lets set this feature
> unconditionally.
>
> Signed-off-by: Babu Moger <babu.moger@amd.com>
> Message-Id: <1528939107-17193-2-git-send-email-babu.moger@amd.com>
> [ehabkost: rewrite comment and commit message]
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> target/i386/kvm.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/target/i386/kvm.c b/target/i386/kvm.c
> index 445e0e0b11..2d174f3a91 100644
> --- a/target/i386/kvm.c
> +++ b/target/i386/kvm.c
> @@ -372,6 +372,13 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function,
> if (host_tsx_blacklisted()) {
> ret &= ~(CPUID_7_0_EBX_RTM | CPUID_7_0_EBX_HLE);
> }
> + } else if (function == 0x80000001 && reg == R_ECX) {
> + /*
> + * It's safe to enable TOPOEXT even if it's not returned by
> + * GET_SUPPORTED_CPUID. Unconditionally enabling TOPOEXT here allows
> + * us to keep CPU models including TOPOEXT runnable on older kernels.
> + */
> + ret |= CPUID_EXT3_TOPOEXT;
> } else if (function == 0x80000001 && reg == R_EDX) {
> /* On Intel, kvm returns cpuid according to the Intel spec,
> * so add missing bits according to the AMD spec:
This commit breaks KVM (not TCG) with -cpu host on:
AMD Phenom(tm) 9600B Quad-Core Processor
More details including full qemu command line etc in this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1613277
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
next prev parent reply other threads:[~2018-08-09 20:30 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-25 22:25 [Qemu-devel] [PULL 00/12] x86 queue, 2018-06-25 Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 01/12] i386: Add support for CPUID_8000_001E for AMD Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 02/12] i386: improve alignment of CPU model listing Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 03/12] i386: improve sorting of CPU model names Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 04/12] i386: display known CPUID features linewrapped, in alphabetical order Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 05/12] i386: Remove osxsave CPUID flag name Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 06/12] i386: Remove ospke " Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 07/12] i386: define the AMD 'amd-ssbd' CPUID feature bit Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 08/12] i386: Define AMD's no SSB mitigation needed Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 09/12] i386: Allow TOPOEXT to be enabled on older kernels Eduardo Habkost
2018-08-09 20:29 ` Richard W.M. Jones [this message]
2018-06-25 22:25 ` [Qemu-devel] [PULL 10/12] i386: Fix up the Node id for CPUID_8000_001E Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 11/12] i386: Enable TOPOEXT feature on AMD EPYC CPU Eduardo Habkost
2018-06-25 22:25 ` [Qemu-devel] [PULL 12/12] i386: Remove generic SMT thread check Eduardo Habkost
2018-06-26 11:49 ` [Qemu-devel] [PULL 00/12] x86 queue, 2018-06-25 Peter Maydell
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=20180809202952.GH16293@redhat.com \
--to=rjones@redhat.com \
--cc=babu.moger@amd.com \
--cc=ehabkost@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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).