Patchwork Latest Git fails to compile in cpus.c

login
register
mail settings
Submitter Blue Swirl
Date April 11, 2010, 4:29 p.m.
Message ID <i2uf43fc5581004110929tdcb28196v55f2fece70d75a7d@mail.gmail.com>
Download mbox | patch
Permalink /patch/49917/
State New
Headers show

Comments

Blue Swirl - April 11, 2010, 4:29 p.m.
On 4/8/10, Marcelo Tosatti <mtosatti@redhat.com> wrote:
> On Wed, Apr 07, 2010 at 09:02:53PM +0300, Blue Swirl wrote:
>  > On 4/7/10, malc <av1474@comtv.ru> wrote:
>  > > On Wed, 7 Apr 2010, Nigel Horne wrote:
>  > >
>  > >  >  ./configure --enable-linux-aio --enable-io-thread --enable-kvm:
>  > >  >
>  > >  > ....
>  > >  >
>  > >  > /home/njh/src/qemu/cpus.c:360: error: ?SIG_IPI? undeclared (first use in this
>  > >  > function)
>  > >  > /home/njh/src/qemu/cpus.c:360: error: (Each undeclared identifier is reported
>  > >  > only once
>  > >
>  > >
>  > > And even if one defines that things will still not work due to:
>  > >  .../cpus.c:657: error: 'vmstop_requested' undeclared (first use in this function)
>  > >
>  > >  IOW --enable-io-thread is broken as it is now.
>  >
>  > Didn't anybody test the patch I sent:
>  > http://lists.gnu.org/archive/html/qemu-devel/2010-04/msg00051.html
>  >
>
>
> The broadcast must be signalled after the machine is fully initialized.

I made a new version which does not change the call sequence.
Marcelo Tosatti - April 12, 2010, 4:49 p.m.
On Sun, Apr 11, 2010 at 07:29:04PM +0300, Blue Swirl wrote:
> On 4/8/10, Marcelo Tosatti <mtosatti@redhat.com> wrote:
> > On Wed, Apr 07, 2010 at 09:02:53PM +0300, Blue Swirl wrote:
> >  > On 4/7/10, malc <av1474@comtv.ru> wrote:
> >  > > On Wed, 7 Apr 2010, Nigel Horne wrote:
> >  > >
> >  > >  >  ./configure --enable-linux-aio --enable-io-thread --enable-kvm:
> >  > >  >
> >  > >  > ....
> >  > >  >
> >  > >  > /home/njh/src/qemu/cpus.c:360: error: ?SIG_IPI? undeclared (first use in this
> >  > >  > function)
> >  > >  > /home/njh/src/qemu/cpus.c:360: error: (Each undeclared identifier is reported
> >  > >  > only once
> >  > >
> >  > >
> >  > > And even if one defines that things will still not work due to:
> >  > >  .../cpus.c:657: error: 'vmstop_requested' undeclared (first use in this function)
> >  > >
> >  > >  IOW --enable-io-thread is broken as it is now.
> >  >
> >  > Didn't anybody test the patch I sent:
> >  > http://lists.gnu.org/archive/html/qemu-devel/2010-04/msg00051.html
> >  >
> >
> >
> > The broadcast must be signalled after the machine is fully initialized.
> 
> I made a new version which does not change the call sequence.

ACK


> From cad37052c7dd2a7a572614b62d76d9f2e8a2a406 Mon Sep 17 00:00:00 2001
> From: Blue Swirl <blauwirbel@gmail.com>
> Date: Sun, 11 Apr 2010 16:26:54 +0000
> Subject: [PATCH] Fix build when configured with --enable-io-thread
> 
> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> ---
>  cpus.c |   16 ++++++++++++++++
>  cpus.h |    4 +++-
>  vl.c   |   13 ++-----------
>  3 files changed, 21 insertions(+), 12 deletions(-)
> 
> diff --git a/cpus.c b/cpus.c
> index 0debe77..8450ee4 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -33,6 +33,12 @@
>  
>  #include "cpus.h"
>  
> +#ifdef SIGRTMIN
> +#define SIG_IPI (SIGRTMIN+4)
> +#else
> +#define SIG_IPI SIGUSR1
> +#endif
> +
>  static CPUState *cur_cpu;
>  static CPUState *next_cpu;
>  
> @@ -226,6 +232,10 @@ int qemu_init_main_loop(void)
>      return qemu_event_init();
>  }
>  
> +void qemu_main_loop_start(void)
> +{
> +}
> +
>  void qemu_init_vcpu(void *_env)
>  {
>      CPUState *env = _env;
> @@ -318,6 +328,12 @@ int qemu_init_main_loop(void)
>      return 0;
>  }
>  
> +void qemu_main_loop_start(void)
> +{
> +    qemu_system_ready = 1;
> +    qemu_cond_broadcast(&qemu_system_cond);
> +}
> +
>  static void qemu_wait_io_event_common(CPUState *env)
>  {
>      if (env->stop) {
> diff --git a/cpus.h b/cpus.h
> index 67c9a3b..4ebad3a 100644
> --- a/cpus.h
> +++ b/cpus.h
> @@ -1,8 +1,9 @@
>  #ifndef QEMU_CPUS_H
>  #define QEMU_CPUS_H
>  
> -/* cpu-common.c */
> +/* cpus.c */
>  int qemu_init_main_loop(void);
> +void qemu_main_loop_start(void);
>  void resume_all_vcpus(void);
>  void pause_all_vcpus(void);
>  
> @@ -10,6 +11,7 @@ void pause_all_vcpus(void);
>  extern int smp_cores;
>  extern int smp_threads;
>  extern int debug_requested;
> +extern int vmstop_requested;
>  void vm_state_notify(int running, int reason);
>  bool tcg_cpu_exec(void);
>  void set_numa_modes(void);
> diff --git a/vl.c b/vl.c
> index ea79ac4..4fb55b8 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -244,12 +244,6 @@ int kvm_allowed = 0;
>  uint32_t xen_domid;
>  enum xen_mode xen_mode = XEN_EMULATE;
>  
> -#ifdef SIGRTMIN
> -#define SIG_IPI (SIGRTMIN+4)
> -#else
> -#define SIG_IPI SIGUSR1
> -#endif
> -
>  static int default_serial = 1;
>  static int default_parallel = 1;
>  static int default_virtcon = 1;
> @@ -1717,7 +1711,7 @@ static int reset_requested;
>  static int shutdown_requested;
>  static int powerdown_requested;
>  int debug_requested;
> -static int vmstop_requested;
> +int vmstop_requested;
>  
>  int qemu_shutdown_requested(void)
>  {
> @@ -1955,10 +1949,7 @@ static void main_loop(void)
>  {
>      int r;
>  
> -#ifdef CONFIG_IOTHREAD
> -    qemu_system_ready = 1;
> -    qemu_cond_broadcast(&qemu_system_cond);
> -#endif
> +    qemu_main_loop_start();
>  
>      for (;;) {
>          do {
> -- 
> 1.5.6.5
>
Blue Swirl - April 12, 2010, 5:33 p.m.
On 4/12/10, Marcelo Tosatti <mtosatti@redhat.com> wrote:
> On Sun, Apr 11, 2010 at 07:29:04PM +0300, Blue Swirl wrote:
>  > On 4/8/10, Marcelo Tosatti <mtosatti@redhat.com> wrote:
>  > > On Wed, Apr 07, 2010 at 09:02:53PM +0300, Blue Swirl wrote:
>  > >  > On 4/7/10, malc <av1474@comtv.ru> wrote:
>  > >  > > On Wed, 7 Apr 2010, Nigel Horne wrote:
>  > >  > >
>  > >  > >  >  ./configure --enable-linux-aio --enable-io-thread --enable-kvm:
>  > >  > >  >
>  > >  > >  > ....
>  > >  > >  >
>  > >  > >  > /home/njh/src/qemu/cpus.c:360: error: ?SIG_IPI? undeclared (first use in this
>  > >  > >  > function)
>  > >  > >  > /home/njh/src/qemu/cpus.c:360: error: (Each undeclared identifier is reported
>  > >  > >  > only once
>  > >  > >
>  > >  > >
>  > >  > > And even if one defines that things will still not work due to:
>  > >  > >  .../cpus.c:657: error: 'vmstop_requested' undeclared (first use in this function)
>  > >  > >
>  > >  > >  IOW --enable-io-thread is broken as it is now.
>  > >  >
>  > >  > Didn't anybody test the patch I sent:
>  > >  > http://lists.gnu.org/archive/html/qemu-devel/2010-04/msg00051.html
>  > >  >
>  > >
>  > >
>  > > The broadcast must be signalled after the machine is fully initialized.
>  >
>  > I made a new version which does not change the call sequence.
>
>
> ACK

Thanks for the ACK, applied.

>  > From cad37052c7dd2a7a572614b62d76d9f2e8a2a406 Mon Sep 17 00:00:00 2001
>  > From: Blue Swirl <blauwirbel@gmail.com>
>  > Date: Sun, 11 Apr 2010 16:26:54 +0000
>  > Subject: [PATCH] Fix build when configured with --enable-io-thread
>  >
>  > Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>  > ---
>  >  cpus.c |   16 ++++++++++++++++
>  >  cpus.h |    4 +++-
>  >  vl.c   |   13 ++-----------
>  >  3 files changed, 21 insertions(+), 12 deletions(-)
>  >
>  > diff --git a/cpus.c b/cpus.c
>  > index 0debe77..8450ee4 100644
>  > --- a/cpus.c
>  > +++ b/cpus.c
>  > @@ -33,6 +33,12 @@
>  >
>  >  #include "cpus.h"
>  >
>  > +#ifdef SIGRTMIN
>  > +#define SIG_IPI (SIGRTMIN+4)
>  > +#else
>  > +#define SIG_IPI SIGUSR1
>  > +#endif
>  > +
>  >  static CPUState *cur_cpu;
>  >  static CPUState *next_cpu;
>  >
>  > @@ -226,6 +232,10 @@ int qemu_init_main_loop(void)
>  >      return qemu_event_init();
>  >  }
>  >
>  > +void qemu_main_loop_start(void)
>  > +{
>  > +}
>  > +
>  >  void qemu_init_vcpu(void *_env)
>  >  {
>  >      CPUState *env = _env;
>  > @@ -318,6 +328,12 @@ int qemu_init_main_loop(void)
>  >      return 0;
>  >  }
>  >
>  > +void qemu_main_loop_start(void)
>  > +{
>  > +    qemu_system_ready = 1;
>  > +    qemu_cond_broadcast(&qemu_system_cond);
>  > +}
>  > +
>  >  static void qemu_wait_io_event_common(CPUState *env)
>  >  {
>  >      if (env->stop) {
>  > diff --git a/cpus.h b/cpus.h
>  > index 67c9a3b..4ebad3a 100644
>  > --- a/cpus.h
>  > +++ b/cpus.h
>  > @@ -1,8 +1,9 @@
>  >  #ifndef QEMU_CPUS_H
>  >  #define QEMU_CPUS_H
>  >
>  > -/* cpu-common.c */
>  > +/* cpus.c */
>  >  int qemu_init_main_loop(void);
>  > +void qemu_main_loop_start(void);
>  >  void resume_all_vcpus(void);
>  >  void pause_all_vcpus(void);
>  >
>  > @@ -10,6 +11,7 @@ void pause_all_vcpus(void);
>  >  extern int smp_cores;
>  >  extern int smp_threads;
>  >  extern int debug_requested;
>  > +extern int vmstop_requested;
>  >  void vm_state_notify(int running, int reason);
>  >  bool tcg_cpu_exec(void);
>  >  void set_numa_modes(void);
>  > diff --git a/vl.c b/vl.c
>  > index ea79ac4..4fb55b8 100644
>  > --- a/vl.c
>  > +++ b/vl.c
>  > @@ -244,12 +244,6 @@ int kvm_allowed = 0;
>  >  uint32_t xen_domid;
>  >  enum xen_mode xen_mode = XEN_EMULATE;
>  >
>  > -#ifdef SIGRTMIN
>  > -#define SIG_IPI (SIGRTMIN+4)
>  > -#else
>  > -#define SIG_IPI SIGUSR1
>  > -#endif
>  > -
>  >  static int default_serial = 1;
>  >  static int default_parallel = 1;
>  >  static int default_virtcon = 1;
>  > @@ -1717,7 +1711,7 @@ static int reset_requested;
>  >  static int shutdown_requested;
>  >  static int powerdown_requested;
>  >  int debug_requested;
>  > -static int vmstop_requested;
>  > +int vmstop_requested;
>  >
>  >  int qemu_shutdown_requested(void)
>  >  {
>  > @@ -1955,10 +1949,7 @@ static void main_loop(void)
>  >  {
>  >      int r;
>  >
>  > -#ifdef CONFIG_IOTHREAD
>  > -    qemu_system_ready = 1;
>  > -    qemu_cond_broadcast(&qemu_system_cond);
>  > -#endif
>  > +    qemu_main_loop_start();
>  >
>  >      for (;;) {
>  >          do {
>  > --
>  > 1.5.6.5
>  >
>
>

Patch

From cad37052c7dd2a7a572614b62d76d9f2e8a2a406 Mon Sep 17 00:00:00 2001
From: Blue Swirl <blauwirbel@gmail.com>
Date: Sun, 11 Apr 2010 16:26:54 +0000
Subject: [PATCH] Fix build when configured with --enable-io-thread

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 cpus.c |   16 ++++++++++++++++
 cpus.h |    4 +++-
 vl.c   |   13 ++-----------
 3 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/cpus.c b/cpus.c
index 0debe77..8450ee4 100644
--- a/cpus.c
+++ b/cpus.c
@@ -33,6 +33,12 @@ 
 
 #include "cpus.h"
 
+#ifdef SIGRTMIN
+#define SIG_IPI (SIGRTMIN+4)
+#else
+#define SIG_IPI SIGUSR1
+#endif
+
 static CPUState *cur_cpu;
 static CPUState *next_cpu;
 
@@ -226,6 +232,10 @@  int qemu_init_main_loop(void)
     return qemu_event_init();
 }
 
+void qemu_main_loop_start(void)
+{
+}
+
 void qemu_init_vcpu(void *_env)
 {
     CPUState *env = _env;
@@ -318,6 +328,12 @@  int qemu_init_main_loop(void)
     return 0;
 }
 
+void qemu_main_loop_start(void)
+{
+    qemu_system_ready = 1;
+    qemu_cond_broadcast(&qemu_system_cond);
+}
+
 static void qemu_wait_io_event_common(CPUState *env)
 {
     if (env->stop) {
diff --git a/cpus.h b/cpus.h
index 67c9a3b..4ebad3a 100644
--- a/cpus.h
+++ b/cpus.h
@@ -1,8 +1,9 @@ 
 #ifndef QEMU_CPUS_H
 #define QEMU_CPUS_H
 
-/* cpu-common.c */
+/* cpus.c */
 int qemu_init_main_loop(void);
+void qemu_main_loop_start(void);
 void resume_all_vcpus(void);
 void pause_all_vcpus(void);
 
@@ -10,6 +11,7 @@  void pause_all_vcpus(void);
 extern int smp_cores;
 extern int smp_threads;
 extern int debug_requested;
+extern int vmstop_requested;
 void vm_state_notify(int running, int reason);
 bool tcg_cpu_exec(void);
 void set_numa_modes(void);
diff --git a/vl.c b/vl.c
index ea79ac4..4fb55b8 100644
--- a/vl.c
+++ b/vl.c
@@ -244,12 +244,6 @@  int kvm_allowed = 0;
 uint32_t xen_domid;
 enum xen_mode xen_mode = XEN_EMULATE;
 
-#ifdef SIGRTMIN
-#define SIG_IPI (SIGRTMIN+4)
-#else
-#define SIG_IPI SIGUSR1
-#endif
-
 static int default_serial = 1;
 static int default_parallel = 1;
 static int default_virtcon = 1;
@@ -1717,7 +1711,7 @@  static int reset_requested;
 static int shutdown_requested;
 static int powerdown_requested;
 int debug_requested;
-static int vmstop_requested;
+int vmstop_requested;
 
 int qemu_shutdown_requested(void)
 {
@@ -1955,10 +1949,7 @@  static void main_loop(void)
 {
     int r;
 
-#ifdef CONFIG_IOTHREAD
-    qemu_system_ready = 1;
-    qemu_cond_broadcast(&qemu_system_cond);
-#endif
+    qemu_main_loop_start();
 
     for (;;) {
         do {
-- 
1.5.6.5