On 4/12/10, Marcelo Tosatti <mtosa...@redhat.com> wrote: > On Sun, Apr 11, 2010 at 07:29:04PM +0300, Blue Swirl wrote: > > On 4/8/10, Marcelo Tosatti <mtosa...@redhat.com> wrote: > > > On Wed, Apr 07, 2010 at 09:02:53PM +0300, Blue Swirl wrote: > > > > On 4/7/10, malc <av1...@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 <blauwir...@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 <blauwir...@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 > > > >