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 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.