* [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions @ 2019-04-07 11:58 Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar ` (3 more replies) 0 siblings, 4 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 11:58 UTC (permalink / raw) To: qemu-devel Changes made in v2: - added a patch to declare hvf_handle_io only if NEED_CPU_H is defined so that the poisoned type CPUArchState does not produce an error when include/sysemu/hvf.h is included for common object compilation Link to v1: https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg06902.html Sukrit Bhatnagar (2): hvf: declare hvf_handle_io if NEED_CPU_H is defined cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions cpus.c | 12 ------------ include/sysemu/hvf.h | 4 ++++ include/sysemu/hw_accel.h | 10 ++++++++++ 3 files changed, 14 insertions(+), 12 deletions(-) -- 2.20.1 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-07 11:58 [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar @ 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined Sukrit Bhatnagar ` (2 subsequent siblings) 3 siblings, 0 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 11:58 UTC (permalink / raw) To: qemu-devel Changes made in v2: - added a patch to declare hvf_handle_io only if NEED_CPU_H is defined so that the poisoned type CPUArchState does not produce an error when include/sysemu/hvf.h is included for common object compilation Link to v1: https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg06902.html Sukrit Bhatnagar (2): hvf: declare hvf_handle_io if NEED_CPU_H is defined cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions cpus.c | 12 ------------ include/sysemu/hvf.h | 4 ++++ include/sysemu/hw_accel.h | 10 ++++++++++ 3 files changed, 14 insertions(+), 12 deletions(-) -- 2.20.1 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined 2019-04-07 11:58 [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar @ 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-10 11:40 ` Roman Bolshakov 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar 2019-04-07 12:05 ` [Qemu-devel] [PATCH RESEND v2 0/2] Move " Sukrit Bhatnagar 3 siblings, 2 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 11:58 UTC (permalink / raw) To: qemu-devel; +Cc: Roman Bolshakov, Paolo Bonzini hvf_handle_io needs the poisoned type CPUArchState as its argument. Declaring it if NEED_CPU_H is defined enables include/sysemu/hvf.h to be included for common object compilation as well. Cc: Roman Bolshakov <r.bolshakov@yadro.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> --- include/sysemu/hvf.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h index aaa51d2c51..7eca3ec7be 100644 --- a/include/sysemu/hvf.h +++ b/include/sysemu/hvf.h @@ -63,8 +63,12 @@ typedef struct HVFState { extern HVFState *hvf_state; void hvf_set_phys_mem(MemoryRegionSection *, bool); + +#ifdef NEED_CPU_H void hvf_handle_io(CPUArchState *, uint16_t, void *, int, int, int); +#endif + hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t); /* Disable HVF if |disable| is 1, otherwise, enable it iff it is supported by -- 2.20.1 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined Sukrit Bhatnagar @ 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-10 11:40 ` Roman Bolshakov 1 sibling, 0 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 11:58 UTC (permalink / raw) To: qemu-devel; +Cc: Paolo Bonzini, Roman Bolshakov hvf_handle_io needs the poisoned type CPUArchState as its argument. Declaring it if NEED_CPU_H is defined enables include/sysemu/hvf.h to be included for common object compilation as well. Cc: Roman Bolshakov <r.bolshakov@yadro.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> --- include/sysemu/hvf.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h index aaa51d2c51..7eca3ec7be 100644 --- a/include/sysemu/hvf.h +++ b/include/sysemu/hvf.h @@ -63,8 +63,12 @@ typedef struct HVFState { extern HVFState *hvf_state; void hvf_set_phys_mem(MemoryRegionSection *, bool); + +#ifdef NEED_CPU_H void hvf_handle_io(CPUArchState *, uint16_t, void *, int, int, int); +#endif + hvf_slot *hvf_find_overlap_slot(uint64_t, uint64_t); /* Disable HVF if |disable| is 1, otherwise, enable it iff it is supported by -- 2.20.1 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar @ 2019-04-10 11:40 ` Roman Bolshakov 2019-04-10 11:40 ` Roman Bolshakov 1 sibling, 1 reply; 20+ messages in thread From: Roman Bolshakov @ 2019-04-10 11:40 UTC (permalink / raw) To: Sukrit Bhatnagar; +Cc: qemu-devel, Paolo Bonzini On Sun, Apr 07, 2019 at 05:28:38PM +0530, Sukrit Bhatnagar wrote: > hvf_handle_io needs the poisoned type CPUArchState as its argument. > Declaring it if NEED_CPU_H is defined enables include/sysemu/hvf.h > to be included for common object compilation as well. > Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com> Tested-by: Roman Bolshakov <r.bolshakov@yadro.com> Thanks, Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined 2019-04-10 11:40 ` Roman Bolshakov @ 2019-04-10 11:40 ` Roman Bolshakov 0 siblings, 0 replies; 20+ messages in thread From: Roman Bolshakov @ 2019-04-10 11:40 UTC (permalink / raw) To: Sukrit Bhatnagar; +Cc: Paolo Bonzini, qemu-devel On Sun, Apr 07, 2019 at 05:28:38PM +0530, Sukrit Bhatnagar wrote: > hvf_handle_io needs the poisoned type CPUArchState as its argument. > Declaring it if NEED_CPU_H is defined enables include/sysemu/hvf.h > to be included for common object compilation as well. > Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com> Tested-by: Roman Bolshakov <r.bolshakov@yadro.com> Thanks, Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-07 11:58 [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined Sukrit Bhatnagar @ 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-10 11:50 ` Roman Bolshakov 2019-04-07 12:05 ` [Qemu-devel] [PATCH RESEND v2 0/2] Move " Sukrit Bhatnagar 3 siblings, 2 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 11:58 UTC (permalink / raw) To: qemu-devel; +Cc: Richard Henderson, Paolo Bonzini Keep the calls made to synchronize cpu by all hypervisors in one place inside cpu_synchronize_* functions in include/sysemu/hw_accel.h Cc: Richard Henderson <rth@twiddle.net> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> --- cpus.c | 12 ------------ include/sysemu/hw_accel.h | 10 ++++++++++ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/cpus.c b/cpus.c index e83f72b48b..026df0dc5f 100644 --- a/cpus.c +++ b/cpus.c @@ -1021,10 +1021,6 @@ void cpu_synchronize_all_states(void) CPU_FOREACH(cpu) { cpu_synchronize_state(cpu); - /* TODO: move to cpu_synchronize_state() */ - if (hvf_enabled()) { - hvf_cpu_synchronize_state(cpu); - } } } @@ -1034,10 +1030,6 @@ void cpu_synchronize_all_post_reset(void) CPU_FOREACH(cpu) { cpu_synchronize_post_reset(cpu); - /* TODO: move to cpu_synchronize_post_reset() */ - if (hvf_enabled()) { - hvf_cpu_synchronize_post_reset(cpu); - } } } @@ -1047,10 +1039,6 @@ void cpu_synchronize_all_post_init(void) CPU_FOREACH(cpu) { cpu_synchronize_post_init(cpu); - /* TODO: move to cpu_synchronize_post_init() */ - if (hvf_enabled()) { - hvf_cpu_synchronize_post_init(cpu); - } } } diff --git a/include/sysemu/hw_accel.h b/include/sysemu/hw_accel.h index d2ddfb5ad0..bf081b4026 100644 --- a/include/sysemu/hw_accel.h +++ b/include/sysemu/hw_accel.h @@ -15,6 +15,7 @@ #include "sysemu/hax.h" #include "sysemu/kvm.h" #include "sysemu/whpx.h" +#include "sysemu/hvf.h" static inline void cpu_synchronize_state(CPUState *cpu) { @@ -27,6 +28,9 @@ static inline void cpu_synchronize_state(CPUState *cpu) if (whpx_enabled()) { whpx_cpu_synchronize_state(cpu); } + if (hvf_enabled()) { + hvf_cpu_synchronize_state(cpu); + } } static inline void cpu_synchronize_post_reset(CPUState *cpu) @@ -40,6 +44,9 @@ static inline void cpu_synchronize_post_reset(CPUState *cpu) if (whpx_enabled()) { whpx_cpu_synchronize_post_reset(cpu); } + if (hvf_enabled()) { + hvf_cpu_synchronize_post_reset(cpu); + } } static inline void cpu_synchronize_post_init(CPUState *cpu) @@ -53,6 +60,9 @@ static inline void cpu_synchronize_post_init(CPUState *cpu) if (whpx_enabled()) { whpx_cpu_synchronize_post_init(cpu); } + if (hvf_enabled()) { + hvf_cpu_synchronize_post_init(cpu); + } } static inline void cpu_synchronize_pre_loadvm(CPUState *cpu) -- 2.20.1 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar @ 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-10 11:50 ` Roman Bolshakov 1 sibling, 0 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 11:58 UTC (permalink / raw) To: qemu-devel; +Cc: Paolo Bonzini, Richard Henderson Keep the calls made to synchronize cpu by all hypervisors in one place inside cpu_synchronize_* functions in include/sysemu/hw_accel.h Cc: Richard Henderson <rth@twiddle.net> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> --- cpus.c | 12 ------------ include/sysemu/hw_accel.h | 10 ++++++++++ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/cpus.c b/cpus.c index e83f72b48b..026df0dc5f 100644 --- a/cpus.c +++ b/cpus.c @@ -1021,10 +1021,6 @@ void cpu_synchronize_all_states(void) CPU_FOREACH(cpu) { cpu_synchronize_state(cpu); - /* TODO: move to cpu_synchronize_state() */ - if (hvf_enabled()) { - hvf_cpu_synchronize_state(cpu); - } } } @@ -1034,10 +1030,6 @@ void cpu_synchronize_all_post_reset(void) CPU_FOREACH(cpu) { cpu_synchronize_post_reset(cpu); - /* TODO: move to cpu_synchronize_post_reset() */ - if (hvf_enabled()) { - hvf_cpu_synchronize_post_reset(cpu); - } } } @@ -1047,10 +1039,6 @@ void cpu_synchronize_all_post_init(void) CPU_FOREACH(cpu) { cpu_synchronize_post_init(cpu); - /* TODO: move to cpu_synchronize_post_init() */ - if (hvf_enabled()) { - hvf_cpu_synchronize_post_init(cpu); - } } } diff --git a/include/sysemu/hw_accel.h b/include/sysemu/hw_accel.h index d2ddfb5ad0..bf081b4026 100644 --- a/include/sysemu/hw_accel.h +++ b/include/sysemu/hw_accel.h @@ -15,6 +15,7 @@ #include "sysemu/hax.h" #include "sysemu/kvm.h" #include "sysemu/whpx.h" +#include "sysemu/hvf.h" static inline void cpu_synchronize_state(CPUState *cpu) { @@ -27,6 +28,9 @@ static inline void cpu_synchronize_state(CPUState *cpu) if (whpx_enabled()) { whpx_cpu_synchronize_state(cpu); } + if (hvf_enabled()) { + hvf_cpu_synchronize_state(cpu); + } } static inline void cpu_synchronize_post_reset(CPUState *cpu) @@ -40,6 +44,9 @@ static inline void cpu_synchronize_post_reset(CPUState *cpu) if (whpx_enabled()) { whpx_cpu_synchronize_post_reset(cpu); } + if (hvf_enabled()) { + hvf_cpu_synchronize_post_reset(cpu); + } } static inline void cpu_synchronize_post_init(CPUState *cpu) @@ -53,6 +60,9 @@ static inline void cpu_synchronize_post_init(CPUState *cpu) if (whpx_enabled()) { whpx_cpu_synchronize_post_init(cpu); } + if (hvf_enabled()) { + hvf_cpu_synchronize_post_init(cpu); + } } static inline void cpu_synchronize_pre_loadvm(CPUState *cpu) -- 2.20.1 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar @ 2019-04-10 11:50 ` Roman Bolshakov 2019-04-10 11:50 ` Roman Bolshakov 2019-04-10 12:05 ` Sukrit Bhatnagar 1 sibling, 2 replies; 20+ messages in thread From: Roman Bolshakov @ 2019-04-10 11:50 UTC (permalink / raw) To: Sukrit Bhatnagar; +Cc: qemu-devel, Paolo Bonzini, Richard Henderson On Sun, Apr 07, 2019 at 05:28:39PM +0530, Sukrit Bhatnagar wrote: > Keep the calls made to synchronize cpu by all hypervisors in one place > inside cpu_synchronize_* functions in include/sysemu/hw_accel.h > > Cc: Richard Henderson <rth@twiddle.net> > Cc: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> > --- > cpus.c | 12 ------------ > include/sysemu/hw_accel.h | 10 ++++++++++ > 2 files changed, 10 insertions(+), 12 deletions(-) > > diff --git a/cpus.c b/cpus.c > index e83f72b48b..026df0dc5f 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -1021,10 +1021,6 @@ void cpu_synchronize_all_states(void) > > CPU_FOREACH(cpu) { > cpu_synchronize_state(cpu); > - /* TODO: move to cpu_synchronize_state() */ > - if (hvf_enabled()) { > - hvf_cpu_synchronize_state(cpu); > - } > } > } > > @@ -1034,10 +1030,6 @@ void cpu_synchronize_all_post_reset(void) > > CPU_FOREACH(cpu) { > cpu_synchronize_post_reset(cpu); > - /* TODO: move to cpu_synchronize_post_reset() */ > - if (hvf_enabled()) { > - hvf_cpu_synchronize_post_reset(cpu); > - } > } > } > > @@ -1047,10 +1039,6 @@ void cpu_synchronize_all_post_init(void) > > CPU_FOREACH(cpu) { > cpu_synchronize_post_init(cpu); > - /* TODO: move to cpu_synchronize_post_init() */ > - if (hvf_enabled()) { > - hvf_cpu_synchronize_post_init(cpu); > - } > } > } > > diff --git a/include/sysemu/hw_accel.h b/include/sysemu/hw_accel.h > index d2ddfb5ad0..bf081b4026 100644 > --- a/include/sysemu/hw_accel.h > +++ b/include/sysemu/hw_accel.h > @@ -15,6 +15,7 @@ > #include "sysemu/hax.h" > #include "sysemu/kvm.h" > #include "sysemu/whpx.h" > +#include "sysemu/hvf.h" > > static inline void cpu_synchronize_state(CPUState *cpu) > { > @@ -27,6 +28,9 @@ static inline void cpu_synchronize_state(CPUState *cpu) > if (whpx_enabled()) { > whpx_cpu_synchronize_state(cpu); > } > + if (hvf_enabled()) { > + hvf_cpu_synchronize_state(cpu); > + } > } > > static inline void cpu_synchronize_post_reset(CPUState *cpu) > @@ -40,6 +44,9 @@ static inline void cpu_synchronize_post_reset(CPUState *cpu) > if (whpx_enabled()) { > whpx_cpu_synchronize_post_reset(cpu); > } > + if (hvf_enabled()) { > + hvf_cpu_synchronize_post_reset(cpu); > + } > } > > static inline void cpu_synchronize_post_init(CPUState *cpu) > @@ -53,6 +60,9 @@ static inline void cpu_synchronize_post_init(CPUState *cpu) > if (whpx_enabled()) { > whpx_cpu_synchronize_post_init(cpu); > } > + if (hvf_enabled()) { > + hvf_cpu_synchronize_post_init(cpu); > + } > } > > static inline void cpu_synchronize_pre_loadvm(CPUState *cpu) > -- > 2.20.1 > > Hi Sukrit, The commit itself looks sane but qemu starts to hang during BIOS boot after I've applied it if I run it with hvf accel. Thanks, Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-10 11:50 ` Roman Bolshakov @ 2019-04-10 11:50 ` Roman Bolshakov 2019-04-10 12:05 ` Sukrit Bhatnagar 1 sibling, 0 replies; 20+ messages in thread From: Roman Bolshakov @ 2019-04-10 11:50 UTC (permalink / raw) To: Sukrit Bhatnagar; +Cc: Paolo Bonzini, qemu-devel, Richard Henderson On Sun, Apr 07, 2019 at 05:28:39PM +0530, Sukrit Bhatnagar wrote: > Keep the calls made to synchronize cpu by all hypervisors in one place > inside cpu_synchronize_* functions in include/sysemu/hw_accel.h > > Cc: Richard Henderson <rth@twiddle.net> > Cc: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> > --- > cpus.c | 12 ------------ > include/sysemu/hw_accel.h | 10 ++++++++++ > 2 files changed, 10 insertions(+), 12 deletions(-) > > diff --git a/cpus.c b/cpus.c > index e83f72b48b..026df0dc5f 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -1021,10 +1021,6 @@ void cpu_synchronize_all_states(void) > > CPU_FOREACH(cpu) { > cpu_synchronize_state(cpu); > - /* TODO: move to cpu_synchronize_state() */ > - if (hvf_enabled()) { > - hvf_cpu_synchronize_state(cpu); > - } > } > } > > @@ -1034,10 +1030,6 @@ void cpu_synchronize_all_post_reset(void) > > CPU_FOREACH(cpu) { > cpu_synchronize_post_reset(cpu); > - /* TODO: move to cpu_synchronize_post_reset() */ > - if (hvf_enabled()) { > - hvf_cpu_synchronize_post_reset(cpu); > - } > } > } > > @@ -1047,10 +1039,6 @@ void cpu_synchronize_all_post_init(void) > > CPU_FOREACH(cpu) { > cpu_synchronize_post_init(cpu); > - /* TODO: move to cpu_synchronize_post_init() */ > - if (hvf_enabled()) { > - hvf_cpu_synchronize_post_init(cpu); > - } > } > } > > diff --git a/include/sysemu/hw_accel.h b/include/sysemu/hw_accel.h > index d2ddfb5ad0..bf081b4026 100644 > --- a/include/sysemu/hw_accel.h > +++ b/include/sysemu/hw_accel.h > @@ -15,6 +15,7 @@ > #include "sysemu/hax.h" > #include "sysemu/kvm.h" > #include "sysemu/whpx.h" > +#include "sysemu/hvf.h" > > static inline void cpu_synchronize_state(CPUState *cpu) > { > @@ -27,6 +28,9 @@ static inline void cpu_synchronize_state(CPUState *cpu) > if (whpx_enabled()) { > whpx_cpu_synchronize_state(cpu); > } > + if (hvf_enabled()) { > + hvf_cpu_synchronize_state(cpu); > + } > } > > static inline void cpu_synchronize_post_reset(CPUState *cpu) > @@ -40,6 +44,9 @@ static inline void cpu_synchronize_post_reset(CPUState *cpu) > if (whpx_enabled()) { > whpx_cpu_synchronize_post_reset(cpu); > } > + if (hvf_enabled()) { > + hvf_cpu_synchronize_post_reset(cpu); > + } > } > > static inline void cpu_synchronize_post_init(CPUState *cpu) > @@ -53,6 +60,9 @@ static inline void cpu_synchronize_post_init(CPUState *cpu) > if (whpx_enabled()) { > whpx_cpu_synchronize_post_init(cpu); > } > + if (hvf_enabled()) { > + hvf_cpu_synchronize_post_init(cpu); > + } > } > > static inline void cpu_synchronize_pre_loadvm(CPUState *cpu) > -- > 2.20.1 > > Hi Sukrit, The commit itself looks sane but qemu starts to hang during BIOS boot after I've applied it if I run it with hvf accel. Thanks, Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-10 11:50 ` Roman Bolshakov 2019-04-10 11:50 ` Roman Bolshakov @ 2019-04-10 12:05 ` Sukrit Bhatnagar 2019-04-10 12:05 ` Sukrit Bhatnagar 2019-04-10 14:02 ` Roman Bolshakov 1 sibling, 2 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-10 12:05 UTC (permalink / raw) To: Roman Bolshakov; +Cc: qemu-devel, Paolo Bonzini, Richard Henderson On Wed, 10 Apr 2019 at 17:20, Roman Bolshakov <r.bolshakov@yadro.com> wrote: > > On Sun, Apr 07, 2019 at 05:28:39PM +0530, Sukrit Bhatnagar wrote: > > Keep the calls made to synchronize cpu by all hypervisors in one place > > inside cpu_synchronize_* functions in include/sysemu/hw_accel.h > > > > Cc: Richard Henderson <rth@twiddle.net> > > Cc: Paolo Bonzini <pbonzini@redhat.com> > > Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> > > --- > > cpus.c | 12 ------------ > > include/sysemu/hw_accel.h | 10 ++++++++++ > > 2 files changed, 10 insertions(+), 12 deletions(-) > > > > diff --git a/cpus.c b/cpus.c > > index e83f72b48b..026df0dc5f 100644 > > --- a/cpus.c > > +++ b/cpus.c > > @@ -1021,10 +1021,6 @@ void cpu_synchronize_all_states(void) > > > > CPU_FOREACH(cpu) { > > cpu_synchronize_state(cpu); > > - /* TODO: move to cpu_synchronize_state() */ > > - if (hvf_enabled()) { > > - hvf_cpu_synchronize_state(cpu); > > - } > > } > > } > > > > @@ -1034,10 +1030,6 @@ void cpu_synchronize_all_post_reset(void) > > > > CPU_FOREACH(cpu) { > > cpu_synchronize_post_reset(cpu); > > - /* TODO: move to cpu_synchronize_post_reset() */ > > - if (hvf_enabled()) { > > - hvf_cpu_synchronize_post_reset(cpu); > > - } > > } > > } > > > > @@ -1047,10 +1039,6 @@ void cpu_synchronize_all_post_init(void) > > > > CPU_FOREACH(cpu) { > > cpu_synchronize_post_init(cpu); > > - /* TODO: move to cpu_synchronize_post_init() */ > > - if (hvf_enabled()) { > > - hvf_cpu_synchronize_post_init(cpu); > > - } > > } > > } > > > > diff --git a/include/sysemu/hw_accel.h b/include/sysemu/hw_accel.h > > index d2ddfb5ad0..bf081b4026 100644 > > --- a/include/sysemu/hw_accel.h > > +++ b/include/sysemu/hw_accel.h > > @@ -15,6 +15,7 @@ > > #include "sysemu/hax.h" > > #include "sysemu/kvm.h" > > #include "sysemu/whpx.h" > > +#include "sysemu/hvf.h" > > > > static inline void cpu_synchronize_state(CPUState *cpu) > > { > > @@ -27,6 +28,9 @@ static inline void cpu_synchronize_state(CPUState *cpu) > > if (whpx_enabled()) { > > whpx_cpu_synchronize_state(cpu); > > } > > + if (hvf_enabled()) { > > + hvf_cpu_synchronize_state(cpu); > > + } > > } > > > > static inline void cpu_synchronize_post_reset(CPUState *cpu) > > @@ -40,6 +44,9 @@ static inline void cpu_synchronize_post_reset(CPUState *cpu) > > if (whpx_enabled()) { > > whpx_cpu_synchronize_post_reset(cpu); > > } > > + if (hvf_enabled()) { > > + hvf_cpu_synchronize_post_reset(cpu); > > + } > > } > > > > static inline void cpu_synchronize_post_init(CPUState *cpu) > > @@ -53,6 +60,9 @@ static inline void cpu_synchronize_post_init(CPUState *cpu) > > if (whpx_enabled()) { > > whpx_cpu_synchronize_post_init(cpu); > > } > > + if (hvf_enabled()) { > > + hvf_cpu_synchronize_post_init(cpu); > > + } > > } > > > > static inline void cpu_synchronize_pre_loadvm(CPUState *cpu) > > -- > > 2.20.1 > > > > > > Hi Sukrit, > > The commit itself looks sane but qemu starts to hang during BIOS boot > after I've applied it if I run it with hvf accel. Hi Roman, Thanks for reviewing the patches. If this is happening, then I assume patches are not ready to be merged into qemu-stable. Do you have any idea why the problem is not detected during tests, but rather at runtime? I am not really sure if this patch (2/2) has anything to do with the problem but the previous patch (1/2) might. > Thanks, > Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-10 12:05 ` Sukrit Bhatnagar @ 2019-04-10 12:05 ` Sukrit Bhatnagar 2019-04-10 14:02 ` Roman Bolshakov 1 sibling, 0 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-10 12:05 UTC (permalink / raw) To: Roman Bolshakov; +Cc: Paolo Bonzini, qemu-devel, Richard Henderson On Wed, 10 Apr 2019 at 17:20, Roman Bolshakov <r.bolshakov@yadro.com> wrote: > > On Sun, Apr 07, 2019 at 05:28:39PM +0530, Sukrit Bhatnagar wrote: > > Keep the calls made to synchronize cpu by all hypervisors in one place > > inside cpu_synchronize_* functions in include/sysemu/hw_accel.h > > > > Cc: Richard Henderson <rth@twiddle.net> > > Cc: Paolo Bonzini <pbonzini@redhat.com> > > Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> > > --- > > cpus.c | 12 ------------ > > include/sysemu/hw_accel.h | 10 ++++++++++ > > 2 files changed, 10 insertions(+), 12 deletions(-) > > > > diff --git a/cpus.c b/cpus.c > > index e83f72b48b..026df0dc5f 100644 > > --- a/cpus.c > > +++ b/cpus.c > > @@ -1021,10 +1021,6 @@ void cpu_synchronize_all_states(void) > > > > CPU_FOREACH(cpu) { > > cpu_synchronize_state(cpu); > > - /* TODO: move to cpu_synchronize_state() */ > > - if (hvf_enabled()) { > > - hvf_cpu_synchronize_state(cpu); > > - } > > } > > } > > > > @@ -1034,10 +1030,6 @@ void cpu_synchronize_all_post_reset(void) > > > > CPU_FOREACH(cpu) { > > cpu_synchronize_post_reset(cpu); > > - /* TODO: move to cpu_synchronize_post_reset() */ > > - if (hvf_enabled()) { > > - hvf_cpu_synchronize_post_reset(cpu); > > - } > > } > > } > > > > @@ -1047,10 +1039,6 @@ void cpu_synchronize_all_post_init(void) > > > > CPU_FOREACH(cpu) { > > cpu_synchronize_post_init(cpu); > > - /* TODO: move to cpu_synchronize_post_init() */ > > - if (hvf_enabled()) { > > - hvf_cpu_synchronize_post_init(cpu); > > - } > > } > > } > > > > diff --git a/include/sysemu/hw_accel.h b/include/sysemu/hw_accel.h > > index d2ddfb5ad0..bf081b4026 100644 > > --- a/include/sysemu/hw_accel.h > > +++ b/include/sysemu/hw_accel.h > > @@ -15,6 +15,7 @@ > > #include "sysemu/hax.h" > > #include "sysemu/kvm.h" > > #include "sysemu/whpx.h" > > +#include "sysemu/hvf.h" > > > > static inline void cpu_synchronize_state(CPUState *cpu) > > { > > @@ -27,6 +28,9 @@ static inline void cpu_synchronize_state(CPUState *cpu) > > if (whpx_enabled()) { > > whpx_cpu_synchronize_state(cpu); > > } > > + if (hvf_enabled()) { > > + hvf_cpu_synchronize_state(cpu); > > + } > > } > > > > static inline void cpu_synchronize_post_reset(CPUState *cpu) > > @@ -40,6 +44,9 @@ static inline void cpu_synchronize_post_reset(CPUState *cpu) > > if (whpx_enabled()) { > > whpx_cpu_synchronize_post_reset(cpu); > > } > > + if (hvf_enabled()) { > > + hvf_cpu_synchronize_post_reset(cpu); > > + } > > } > > > > static inline void cpu_synchronize_post_init(CPUState *cpu) > > @@ -53,6 +60,9 @@ static inline void cpu_synchronize_post_init(CPUState *cpu) > > if (whpx_enabled()) { > > whpx_cpu_synchronize_post_init(cpu); > > } > > + if (hvf_enabled()) { > > + hvf_cpu_synchronize_post_init(cpu); > > + } > > } > > > > static inline void cpu_synchronize_pre_loadvm(CPUState *cpu) > > -- > > 2.20.1 > > > > > > Hi Sukrit, > > The commit itself looks sane but qemu starts to hang during BIOS boot > after I've applied it if I run it with hvf accel. Hi Roman, Thanks for reviewing the patches. If this is happening, then I assume patches are not ready to be merged into qemu-stable. Do you have any idea why the problem is not detected during tests, but rather at runtime? I am not really sure if this patch (2/2) has anything to do with the problem but the previous patch (1/2) might. > Thanks, > Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-10 12:05 ` Sukrit Bhatnagar 2019-04-10 12:05 ` Sukrit Bhatnagar @ 2019-04-10 14:02 ` Roman Bolshakov 2019-04-10 14:02 ` Roman Bolshakov 2019-04-10 17:10 ` Paolo Bonzini 1 sibling, 2 replies; 20+ messages in thread From: Roman Bolshakov @ 2019-04-10 14:02 UTC (permalink / raw) To: Sukrit Bhatnagar; +Cc: qemu-devel, Paolo Bonzini, Richard Henderson On Wed, Apr 10, 2019 at 05:35:23PM +0530, Sukrit Bhatnagar wrote: > On Wed, 10 Apr 2019 at 17:20, Roman Bolshakov <r.bolshakov@yadro.com> wrote: > > > > On Sun, Apr 07, 2019 at 05:28:39PM +0530, Sukrit Bhatnagar wrote: > > > Keep the calls made to synchronize cpu by all hypervisors in one place > > > inside cpu_synchronize_* functions in include/sysemu/hw_accel.h > > > > > > > The commit itself looks sane but qemu starts to hang during BIOS boot > > after I've applied it if I run it with hvf accel. > > Hi Roman, > Thanks for reviewing the patches. > If this is happening, then I assume patches are not ready > to be merged into qemu-stable. > Do you have any idea why the problem is not detected > during tests, but rather at runtime? > I am not really sure if this patch (2/2) has anything to do with > the problem but the previous patch (1/2) might. > I've applied, built and tested both sequentially. Applying and running with patch 1/2 alone doesn't result in the behavior I mentioned. I also tried to apply only the first hunk that moves hvf_cpu_synchronize_state into cpu_synchronize_state and it also causes the issue with BIOS. Honestly, I don't know if the tests run qemu with hvf accel. AFAIK kvm-unit-tests can be used to test an accel itself. Thanks, Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-10 14:02 ` Roman Bolshakov @ 2019-04-10 14:02 ` Roman Bolshakov 2019-04-10 17:10 ` Paolo Bonzini 1 sibling, 0 replies; 20+ messages in thread From: Roman Bolshakov @ 2019-04-10 14:02 UTC (permalink / raw) To: Sukrit Bhatnagar; +Cc: Paolo Bonzini, qemu-devel, Richard Henderson On Wed, Apr 10, 2019 at 05:35:23PM +0530, Sukrit Bhatnagar wrote: > On Wed, 10 Apr 2019 at 17:20, Roman Bolshakov <r.bolshakov@yadro.com> wrote: > > > > On Sun, Apr 07, 2019 at 05:28:39PM +0530, Sukrit Bhatnagar wrote: > > > Keep the calls made to synchronize cpu by all hypervisors in one place > > > inside cpu_synchronize_* functions in include/sysemu/hw_accel.h > > > > > > > The commit itself looks sane but qemu starts to hang during BIOS boot > > after I've applied it if I run it with hvf accel. > > Hi Roman, > Thanks for reviewing the patches. > If this is happening, then I assume patches are not ready > to be merged into qemu-stable. > Do you have any idea why the problem is not detected > during tests, but rather at runtime? > I am not really sure if this patch (2/2) has anything to do with > the problem but the previous patch (1/2) might. > I've applied, built and tested both sequentially. Applying and running with patch 1/2 alone doesn't result in the behavior I mentioned. I also tried to apply only the first hunk that moves hvf_cpu_synchronize_state into cpu_synchronize_state and it also causes the issue with BIOS. Honestly, I don't know if the tests run qemu with hvf accel. AFAIK kvm-unit-tests can be used to test an accel itself. Thanks, Roman ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-10 14:02 ` Roman Bolshakov 2019-04-10 14:02 ` Roman Bolshakov @ 2019-04-10 17:10 ` Paolo Bonzini 2019-04-10 17:10 ` Paolo Bonzini 1 sibling, 1 reply; 20+ messages in thread From: Paolo Bonzini @ 2019-04-10 17:10 UTC (permalink / raw) To: Roman Bolshakov, Sukrit Bhatnagar; +Cc: qemu-devel, Richard Henderson On 10/04/19 16:02, Roman Bolshakov wrote: > I've applied, built and tested both sequentially. Applying and running > with patch 1/2 alone doesn't result in the behavior I mentioned. I also > tried to apply only the first hunk that moves hvf_cpu_synchronize_state > into cpu_synchronize_state and it also causes the issue with BIOS. > > Honestly, I don't know if the tests run qemu with hvf accel. AFAIK > kvm-unit-tests can be used to test an accel itself. No, tests do not cover HVF. Paolo ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-10 17:10 ` Paolo Bonzini @ 2019-04-10 17:10 ` Paolo Bonzini 0 siblings, 0 replies; 20+ messages in thread From: Paolo Bonzini @ 2019-04-10 17:10 UTC (permalink / raw) To: Roman Bolshakov, Sukrit Bhatnagar; +Cc: qemu-devel, Richard Henderson On 10/04/19 16:02, Roman Bolshakov wrote: > I've applied, built and tested both sequentially. Applying and running > with patch 1/2 alone doesn't result in the behavior I mentioned. I also > tried to apply only the first hunk that moves hvf_cpu_synchronize_state > into cpu_synchronize_state and it also causes the issue with BIOS. > > Honestly, I don't know if the tests run qemu with hvf accel. AFAIK > kvm-unit-tests can be used to test an accel itself. No, tests do not cover HVF. Paolo ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-07 11:58 [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar ` (2 preceding siblings ...) 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar @ 2019-04-07 12:05 ` Sukrit Bhatnagar 2019-04-07 12:05 ` Sukrit Bhatnagar 2019-04-09 8:28 ` Marcel Apfelbaum 3 siblings, 2 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 12:05 UTC (permalink / raw) To: qemu-devel, Marcel Apfelbaum, Yuval Shaia Hi, Are the patches in good enough shape to be merged? Thanks, Sukrit ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-07 12:05 ` [Qemu-devel] [PATCH RESEND v2 0/2] Move " Sukrit Bhatnagar @ 2019-04-07 12:05 ` Sukrit Bhatnagar 2019-04-09 8:28 ` Marcel Apfelbaum 1 sibling, 0 replies; 20+ messages in thread From: Sukrit Bhatnagar @ 2019-04-07 12:05 UTC (permalink / raw) To: qemu-devel, Marcel Apfelbaum, Yuval Shaia Hi, Are the patches in good enough shape to be merged? Thanks, Sukrit ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-07 12:05 ` [Qemu-devel] [PATCH RESEND v2 0/2] Move " Sukrit Bhatnagar 2019-04-07 12:05 ` Sukrit Bhatnagar @ 2019-04-09 8:28 ` Marcel Apfelbaum 2019-04-09 8:28 ` Marcel Apfelbaum 1 sibling, 1 reply; 20+ messages in thread From: Marcel Apfelbaum @ 2019-04-09 8:28 UTC (permalink / raw) To: Sukrit Bhatnagar, qemu-devel, Yuval Shaia On 4/7/19 3:05 PM, Sukrit Bhatnagar wrote: > Hi, > Are the patches in good enough shape to be merged? Hi Sukrit, Where is the patch itself :) ? Also be sure to add the maintainers to cc. You can get them by running ./scripts/get_maintainers.pl script on your patch. Please re-send it. Thanks, Marcel > Thanks, > Sukrit ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions 2019-04-09 8:28 ` Marcel Apfelbaum @ 2019-04-09 8:28 ` Marcel Apfelbaum 0 siblings, 0 replies; 20+ messages in thread From: Marcel Apfelbaum @ 2019-04-09 8:28 UTC (permalink / raw) To: Sukrit Bhatnagar, qemu-devel, Yuval Shaia On 4/7/19 3:05 PM, Sukrit Bhatnagar wrote: > Hi, > Are the patches in good enough shape to be merged? Hi Sukrit, Where is the patch itself :) ? Also be sure to add the maintainers to cc. You can get them by running ./scripts/get_maintainers.pl script on your patch. Please re-send it. Thanks, Marcel > Thanks, > Sukrit ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2019-04-10 17:11 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-04-07 11:58 [Qemu-devel] [PATCH RESEND v2 0/2] Move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 1/2] hvf: declare hvf_handle_io if NEED_CPU_H is defined Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-10 11:40 ` Roman Bolshakov 2019-04-10 11:40 ` Roman Bolshakov 2019-04-07 11:58 ` [Qemu-devel] [PATCH RESEND v2 2/2] cpus: move hvf_cpu_synchronize* calls to cpu_synchronize* functions Sukrit Bhatnagar 2019-04-07 11:58 ` Sukrit Bhatnagar 2019-04-10 11:50 ` Roman Bolshakov 2019-04-10 11:50 ` Roman Bolshakov 2019-04-10 12:05 ` Sukrit Bhatnagar 2019-04-10 12:05 ` Sukrit Bhatnagar 2019-04-10 14:02 ` Roman Bolshakov 2019-04-10 14:02 ` Roman Bolshakov 2019-04-10 17:10 ` Paolo Bonzini 2019-04-10 17:10 ` Paolo Bonzini 2019-04-07 12:05 ` [Qemu-devel] [PATCH RESEND v2 0/2] Move " Sukrit Bhatnagar 2019-04-07 12:05 ` Sukrit Bhatnagar 2019-04-09 8:28 ` Marcel Apfelbaum 2019-04-09 8:28 ` Marcel Apfelbaum
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).