qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Latest Git fails to compile in cpus.c


From: Marcelo Tosatti
Subject: Re: [Qemu-devel] Latest Git fails to compile in cpus.c
Date: Mon, 12 Apr 2010 13:49:47 -0300
User-agent: Mutt/1.5.20 (2009-08-17)

On Sun, Apr 11, 2010 at 07:29:04PM +0300, Blue Swirl wrote:
> On 4/8/10, Marcelo Tosatti <address@hidden> wrote:
> > On Wed, Apr 07, 2010 at 09:02:53PM +0300, Blue Swirl wrote:
> >  > On 4/7/10, malc <address@hidden> 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 <address@hidden>
> Date: Sun, 11 Apr 2010 16:26:54 +0000
> Subject: [PATCH] Fix build when configured with --enable-io-thread
> 
> Signed-off-by: Blue Swirl <address@hidden>
> ---
>  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
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]