From: "Andreas Färber" <afaerber@suse.de>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: qemu-devel@nongnu.org, Marcelo Tosatti <mtosatti@redhat.com>,
aliguori@us.ibm.com, kvm@vger.kernel.org,
Avi Kivity <avi@redhat.com>
Subject: Re: [PATCH] target-i386: cpu: fix --disable-kvm compilation
Date: Fri, 02 Nov 2012 17:54:19 +0100 [thread overview]
Message-ID: <5093FABB.8090005@suse.de> (raw)
In-Reply-To: <1351873515-28522-1-git-send-email-ehabkost@redhat.com>
Am 02.11.2012 17:25, schrieb Eduardo Habkost:
> This fixes the following:
> target-i386/cpu.o: In function `kvm_cpu_fill_host':
> target-i386/cpu.c:783: undefined reference to `kvm_state'
>
> I didn't notice the problem before because GCC was optimizing the entire
> kvm_cpu_fill_host() function out (because all calls are conditional on
> kvm_enabled()).
>
> * cpu_x86_fill_model_id() is used only if CONFIG_KVM is set, so #ifdef it
> entirely to avoid compiler warnings.
>
> * kvm_cpu_fill_host() should be called only if KVM is enabled, so
> use #ifdef CONFIG_KVM around the entire function body.
>
> Reported-by: Andreas Färber <afaerber@suse.de>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Andreas Färber <afaerber@suse.de>
If no one objects to this solution, unless Marcelo or Avi beat me, I'll
send out an urgent pull request as requested by Anthony.
Thanks,
Andreas
> ---
> target-i386/cpu.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index c46286a..e1db639 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -758,6 +758,7 @@ static x86_def_t builtin_x86_defs[] = {
> },
> };
>
> +#ifdef CONFIG_KVM
> static int cpu_x86_fill_model_id(char *str)
> {
> uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
> @@ -772,6 +773,7 @@ static int cpu_x86_fill_model_id(char *str)
> }
> return 0;
> }
> +#endif
>
> /* Fill a x86_def_t struct with information about the host CPU, and
> * the CPU features supported by the host hardware + host kernel
> @@ -780,6 +782,7 @@ static int cpu_x86_fill_model_id(char *str)
> */
> static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
> {
> +#ifdef CONFIG_KVM
> KVMState *s = kvm_state;
> uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
>
> @@ -838,6 +841,7 @@ static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
> * unsupported ones later.
> */
> x86_cpu_def->svm_features = -1;
> +#endif /* CONFIG_KVM */
> }
>
> static int unavailable_host_feature(struct model_features_t *f, uint32_t mask)
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
WARNING: multiple messages have this Message-ID (diff)
From: "Andreas Färber" <afaerber@suse.de>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: aliguori@us.ibm.com, Marcelo Tosatti <mtosatti@redhat.com>,
qemu-devel@nongnu.org, kvm@vger.kernel.org,
Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation
Date: Fri, 02 Nov 2012 17:54:19 +0100 [thread overview]
Message-ID: <5093FABB.8090005@suse.de> (raw)
In-Reply-To: <1351873515-28522-1-git-send-email-ehabkost@redhat.com>
Am 02.11.2012 17:25, schrieb Eduardo Habkost:
> This fixes the following:
> target-i386/cpu.o: In function `kvm_cpu_fill_host':
> target-i386/cpu.c:783: undefined reference to `kvm_state'
>
> I didn't notice the problem before because GCC was optimizing the entire
> kvm_cpu_fill_host() function out (because all calls are conditional on
> kvm_enabled()).
>
> * cpu_x86_fill_model_id() is used only if CONFIG_KVM is set, so #ifdef it
> entirely to avoid compiler warnings.
>
> * kvm_cpu_fill_host() should be called only if KVM is enabled, so
> use #ifdef CONFIG_KVM around the entire function body.
>
> Reported-by: Andreas Färber <afaerber@suse.de>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Andreas Färber <afaerber@suse.de>
If no one objects to this solution, unless Marcelo or Avi beat me, I'll
send out an urgent pull request as requested by Anthony.
Thanks,
Andreas
> ---
> target-i386/cpu.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index c46286a..e1db639 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -758,6 +758,7 @@ static x86_def_t builtin_x86_defs[] = {
> },
> };
>
> +#ifdef CONFIG_KVM
> static int cpu_x86_fill_model_id(char *str)
> {
> uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
> @@ -772,6 +773,7 @@ static int cpu_x86_fill_model_id(char *str)
> }
> return 0;
> }
> +#endif
>
> /* Fill a x86_def_t struct with information about the host CPU, and
> * the CPU features supported by the host hardware + host kernel
> @@ -780,6 +782,7 @@ static int cpu_x86_fill_model_id(char *str)
> */
> static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
> {
> +#ifdef CONFIG_KVM
> KVMState *s = kvm_state;
> uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
>
> @@ -838,6 +841,7 @@ static void kvm_cpu_fill_host(x86_def_t *x86_cpu_def)
> * unsupported ones later.
> */
> x86_cpu_def->svm_features = -1;
> +#endif /* CONFIG_KVM */
> }
>
> static int unavailable_host_feature(struct model_features_t *f, uint32_t mask)
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2012-11-02 16:54 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-31 9:39 [PATCH 00/28] [PULL] qemu-kvm.git uq/master queue Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 01/28] i386: kvm: kvm_arch_get_supported_cpuid: move R_EDX hack outside of for loop Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 02/28] i386: kvm: kvm_arch_get_supported_cpuid: clean up has_kvm_features check Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 03/28] i386: kvm: kvm_arch_get_supported_cpuid: use 'entry' variable Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 04/28] i386: kvm: extract register switch to cpuid_entry_get_reg() function Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 05/28] i386: kvm: extract CPUID entry lookup to cpuid_find_entry() function Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 06/28] i386: kvm: extract try_get_cpuid() loop to get_supported_cpuid() function Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 07/28] i386: kvm: kvm_arch_get_supported_cpuid: replace if+switch with single 'if' Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 08/28] i386: kvm: set CPUID_EXT_HYPERVISOR on kvm_arch_get_supported_cpuid() Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 09/28] i386: kvm: set CPUID_EXT_TSC_DEADLINE_TIMER " Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 10/28] i386: kvm: x2apic is not supported without in-kernel irqchip Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 11/28] i386: kvm: mask cpuid_kvm_features earlier Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 12/28] i386: kvm: mask cpuid_ext4_features bits earlier Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 13/28] i386: kvm: filter CPUID feature words earlier, on cpu.c Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 14/28] i386: kvm: reformat filter_features_for_kvm() code Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 15/28] i386: kvm: filter CPUID leaf 7 based on GET_SUPPORTED_CPUID, too Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 16/28] i386: cpu: add missing CPUID[EAX=7,ECX=0] flag names Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] [PATCH 16/28] i386: cpu: add missing CPUID[EAX=7, ECX=0] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 17/28] target-i386: Add missing kvm cpuid feature name Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 18/28] cirrus_vga: allow configurable vram size Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 19/28] Use machine options to emulate -no-kvm-irqchip Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 20/28] Issue warning when deprecated -no-kvm-pit is used Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:39 ` [PATCH 21/28] Use global properties to emulate -no-kvm-pit-reinjection Marcelo Tosatti
2012-10-31 9:39 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:40 ` [PATCH 22/28] Issue warning when deprecated drive parameter boot=on|off is used Marcelo Tosatti
2012-10-31 9:40 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:40 ` [PATCH 23/28] Issue warning when deprecated -tdf option " Marcelo Tosatti
2012-10-31 9:40 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:40 ` [PATCH 24/28] Emulate qemu-kvms -no-kvm option Marcelo Tosatti
2012-10-31 9:40 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:40 ` [PATCH 25/28] target-i386: make cpu_x86_fill_host() void Marcelo Tosatti
2012-10-31 9:40 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:40 ` [PATCH 26/28] target-i386: cpu: make -cpu host/check/enforce code KVM-specific Marcelo Tosatti
2012-10-31 9:40 ` [Qemu-devel] " Marcelo Tosatti
2012-10-31 9:40 ` [PATCH 27/28] target-i386: kvm_cpu_fill_host: use GET_SUPPORTED_CPUID Marcelo Tosatti
2012-10-31 9:40 ` [Qemu-devel] " Marcelo Tosatti
2012-11-02 15:34 ` Andreas Färber
2012-11-02 15:52 ` Andreas Färber
2012-11-02 16:05 ` Eduardo Habkost
2012-11-02 16:05 ` [Qemu-devel] " Eduardo Habkost
2012-11-02 16:25 ` [PATCH] target-i386: cpu: fix --disable-kvm compilation Eduardo Habkost
2012-11-02 16:25 ` [Qemu-devel] " Eduardo Habkost
2012-11-02 16:54 ` Andreas Färber [this message]
2012-11-02 16:54 ` Andreas Färber
2012-10-31 9:40 ` [PATCH 28/28] update-linux-headers.sh: Handle new kernel uapi/ directories Marcelo Tosatti
2012-10-31 9:40 ` [Qemu-devel] " Marcelo Tosatti
2012-11-01 19:32 ` [PATCH 00/28] [PULL] qemu-kvm.git uq/master queue Anthony Liguori
2012-11-01 19:32 ` [Qemu-devel] " Anthony Liguori
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=5093FABB.8090005@suse.de \
--to=afaerber@suse.de \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=ehabkost@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.