qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation
  2012-11-02 16:05 [Qemu-devel] [PATCH 27/28] target-i386: kvm_cpu_fill_host: use GET_SUPPORTED_CPUID Eduardo Habkost
@ 2012-11-02 16:25 ` Eduardo Habkost
  2012-11-02 16:54   ` Andreas Färber
  0 siblings, 1 reply; 5+ messages in thread
From: Eduardo Habkost @ 2012-11-02 16:25 UTC (permalink / raw)
  To: qemu-devel; +Cc: aliguori, Marcelo Tosatti, Andreas Färber, kvm

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>
---
 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)
-- 
1.7.11.7

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation
  2012-11-02 16:25 ` [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation Eduardo Habkost
@ 2012-11-02 16:54   ` Andreas Färber
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Färber @ 2012-11-02 16:54 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: aliguori, Marcelo Tosatti, qemu-devel, kvm, Avi Kivity

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02
@ 2012-11-02 17:23 Andreas Färber
  2012-11-02 17:23 ` [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation Andreas Färber
  2012-11-02 19:14 ` [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02 Anthony Liguori
  0 siblings, 2 replies; 5+ messages in thread
From: Andreas Färber @ 2012-11-02 17:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Färber, anthony

Hello,

Here's a build fix for {i386,x86_64}-linux-user. Please pull.

Regards,
Andreas


The following changes since commit 4ba79505f43bd0ace35c3fe42197eb02e7e0478e:

  Merge remote-tracking branch 'kraxel/pixman.v3' into staging (2012-11-01 11:14:39 -0500)

are available in the git repository at:


  git://github.com/afaerber/qemu-cpu.git qom-cpu

for you to fetch changes up to e4ab0d6b0d1118a90238d8194eedb91aab15ebe1:

  target-i386: cpu: fix --disable-kvm compilation (2012-11-02 17:55:29 +0100)

----------------------------------------------------------------
Eduardo Habkost (1):
      target-i386: cpu: fix --disable-kvm compilation

 target-i386/cpu.c |    4 ++++
 1 Datei geändert, 4 Zeilen hinzugefügt(+)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation
  2012-11-02 17:23 [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02 Andreas Färber
@ 2012-11-02 17:23 ` Andreas Färber
  2012-11-02 19:14 ` [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02 Anthony Liguori
  1 sibling, 0 replies; 5+ messages in thread
From: Andreas Färber @ 2012-11-02 17:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: Eduardo Habkost, anthony, Andreas Färber

From: Eduardo Habkost <ehabkost@redhat.com>

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>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 target-i386/cpu.c |    4 ++++
 1 Datei geändert, 4 Zeilen hinzugefügt(+)

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)
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02
  2012-11-02 17:23 [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02 Andreas Färber
  2012-11-02 17:23 ` [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation Andreas Färber
@ 2012-11-02 19:14 ` Anthony Liguori
  1 sibling, 0 replies; 5+ messages in thread
From: Anthony Liguori @ 2012-11-02 19:14 UTC (permalink / raw)
  To: Andreas Färber, qemu-devel

Andreas Färber <afaerber@suse.de> writes:

> Hello,
>
> Here's a build fix for {i386,x86_64}-linux-user. Please pull.

Pulled. Thanks.

Regards,

Anthony Liguori

>
> Regards,
> Andreas
>
>
> The following changes since commit 4ba79505f43bd0ace35c3fe42197eb02e7e0478e:
>
>   Merge remote-tracking branch 'kraxel/pixman.v3' into staging (2012-11-01 11:14:39 -0500)
>
> are available in the git repository at:
>
>
>   git://github.com/afaerber/qemu-cpu.git qom-cpu
>
> for you to fetch changes up to e4ab0d6b0d1118a90238d8194eedb91aab15ebe1:
>
>   target-i386: cpu: fix --disable-kvm compilation (2012-11-02 17:55:29 +0100)
>
> ----------------------------------------------------------------
> Eduardo Habkost (1):
>       target-i386: cpu: fix --disable-kvm compilation
>
>  target-i386/cpu.c |    4 ++++
>  1 Datei geändert, 4 Zeilen hinzugefügt(+)

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-11-02 19:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-02 17:23 [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02 Andreas Färber
2012-11-02 17:23 ` [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation Andreas Färber
2012-11-02 19:14 ` [Qemu-devel] [PULL buildfix] QOM CPUState patch queue 2012-11-02 Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2012-11-02 16:05 [Qemu-devel] [PATCH 27/28] target-i386: kvm_cpu_fill_host: use GET_SUPPORTED_CPUID Eduardo Habkost
2012-11-02 16:25 ` [Qemu-devel] [PATCH] target-i386: cpu: fix --disable-kvm compilation Eduardo Habkost
2012-11-02 16:54   ` Andreas Färber

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