> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> On 05/11/2015 15:00, Peter Maydell wrote:
> > On 5 November 2015 at 12:13, Paolo Bonzini wrote:
> >> The following changes since commit
> >> 6c5f30cad290c745f910481d0e890b3f4fad1f00:
> >>
> >> Merge remote-tracking
Hi, Paolo!
Will you pull these patches into 2.5?
Pavel Dovgalyuk
> -Original Message-
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> Sent: Tuesday, October 06, 2015 11:01 PM
> To: qemu-devel@nongnu.org
> Cc: pavel.dovga...@ispras.ru
> Subject:
There is one more fix.
Sometimes replay cannot continue after stopping/restarting of the virtual
machine.
This happens because warp on stopped machine and on running machine behaves
differently.
Timers deadline calculation depends on enabled flag of the virtual timer.
The following patch fixes
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
>
> It is not clear what separates REPLAY_ASYNC_EVENT_BH from other async
> events. It seems to be an ordering issue, but then why do input events
> not have to be looked up in the queue? It would be much
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> Sent: Tuesday, October 06, 2015 11:01 PM
> To: qemu-devel@nongnu.org
> Cc: pavel.dovga...@ispras.ru
> Subject: [PATCH 3/4] why is runstate_is_running needed?
>
> It doesn't seem correct to call it for all
This one is ok.
Pavel Dovgalyuk
> -Original Message-
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> Sent: Tuesday, October 06, 2015 11:01 PM
> To: qemu-devel@nongnu.org
> Cc: pavel.dovga...@ispras.ru
> Subject: [PATCH 1/4] replay: generalize ptimer
This one is ok too.
Pavel Dovgalyuk
> -Original Message-
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> Sent: Tuesday, October 06, 2015 11:01 PM
> To: qemu-devel@nongnu.org
> Cc: pavel.dovga...@ispras.ru
> Subject: [PATCH 2/4] more replay fixes
>
I checked this patch.
Let's leave it without runstate_is_running() call.
If it will be needed later, we'll find it out.
Pavel Dovgalyuk
> -Original Message-
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> Sent: Tuesday, October 06, 2015 11:01 PM
>
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> On 07/10/2015 10:21, Pavel Dovgaluk wrote:
> > There are two kinds of events:
> > - read from the log and injected immediately (user input, network input)
> > - read from the log and w
> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> On 07/10/2015 11:50, Pavel Dovgaluk wrote:
> >> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> >> Bonzini
> >> On 07/10/2015 10:21, Pavel Dovgaluk wrote:
> >>> There are t
> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> On 07/10/2015 12:42, Pavel Dovgaluk wrote:
> >> > Ok, got it. I still want to understand exactly the need for the init
> >> > and reset checkpoints, and the placement of qemu_clock_warp calls, but
> >>
Thank you!
What about other patches from rr series?
Pavel Dovgalyuk
> -Original Message-
> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> Sent: Friday, September 25, 2015 7:52 PM
> To: qemu-devel@nongnu.org
> Cc: Pavel Dovgalyuk; Pavel Dovgalyuk
> Subject: [PULL 50/52] typedef: add
> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> On 17/09/2015 18:24, Pavel Dovgalyuk wrote:
> > #endif
> >
> > +/* CPU thread can infinitely wait for event after
> > + missing the warp */
> > +qemu_clock_warp(QEMU_CLOCK_VIRTUAL);
> > qemu_clock_run_all_timers();
>
> It is
> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> On 17/09/2015 18:24, Pavel Dovgalyuk wrote:
> > +if ((now < last || now > (last + get_max_clock_jump()))
> > +&& replay_mode == REPLAY_MODE_NONE) {
> > notifier_list_notify(>reset_notifiers, );
>
> This seems
> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
> Bonzini
> On 23/09/2015 09:22, Pavel Dovgaluk wrote:
> > Sometimes tcg thread halts in qemu_tcg_wait_io_event function,
> > waiting for any external event. Virtual clock does not run, because
> &g
Hi!
Paolo, have you reviewed these patches?
Pavel Dovgalyuk
> -Original Message-
> From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
> Sent: Thursday, September 17, 2015 7:23 PM
> To: qemu-devel@nongnu.org
> Cc: edgar.igles...@xilinx.com; peter.mayd...@linaro.org;
>
> From: Leon Alrae [mailto:leon.al...@imgtec.com]
> On 28/08/2015 10:08, Pavel Dovgaluk wrote:
> >> From: Aurelien Jarno [mailto:aurel...@aurel32.net]
> >> On 2015-08-13 14:12, Leon Alrae wrote:
> >>> On 10/07/2015 10:57, Pavel Dovgalyuk wrote:
> &
Paolo,
Are these patches good enough?
Pavel Dovgalyuk
> -Original Message-
> From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
> Sent: Monday, September 07, 2015 11:40 AM
> To: qemu-devel@nongnu.org
> Cc: edgar.igles...@xilinx.com; peter.mayd...@linaro.org;
>
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-08-13 14:12, Leon Alrae wrote:
On 10/07/2015 10:57, Pavel Dovgalyuk wrote:
@@ -2364,14 +2363,12 @@ static void gen_st_cond (DisasContext *ctx,
uint32_t opc, int rt,
#if defined(TARGET_MIPS64)
case OPC_SCD:
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
unfortunately I do have some more review comments; that can happen when
going back to the code after a few months, and it's also a good thing
because it means that the code _is_ actually getting cleaner.
Thanks
From: Richard Henderson [mailto:rth7...@gmail.com] On Behalf Of Richard
Henderson
On 07/07/2015 02:31 PM, Pavel Dovgalyuk wrote:
diff --git a/target-i386/misc_helper.c b/target-i386/misc_helper.c
index 52c5d65..c8e7ee9 100644
--- a/target-i386/misc_helper.c
+++
From: Richard Henderson [mailto:rth7...@gmail.com] On Behalf Of Richard
Henderson
On 07/06/2015 09:26 AM, Pavel Dovgalyuk wrote:
This patch fixes exception handling for seg_helper functions.
Signed-off-by: Pavel Dovgalyuk pavel.dovga...@ispras.ru
No, you don't want to discriminately
From: Richard Henderson [mailto:rth7...@gmail.com] On Behalf Of Richard
Henderson
On 07/06/2015 09:26 AM, Pavel Dovgalyuk wrote:
This patch fixes exception handling for seg_helper functions.
Signed-off-by: Pavel Dovgalyuk pavel.dovga...@ispras.ru
No, you don't want to discriminately
Paolo,
Are there any chances for upstreaming these patches?
Pavel Dovgalyuk
-Original Message-
From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
Sent: Wednesday, July 01, 2015 2:52 PM
To: qemu-devel@nongnu.org
Cc: peter.mayd...@linaro.org; peter.crosthwa...@xilinx.com;
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 06/07/2015 13:54, Pavel Dovgaluk wrote:
Paolo,
Are there any chances for upstreaming these patches?
I'm sorry. It looks like no one really feels competent enough. What
about committing them at the beginning of 2.5? I'll do another
From: Richard Henderson [mailto:rth7...@gmail.com] On Behalf Of Richard
Henderson
On 07/06/2015 09:26 AM, Pavel Dovgalyuk wrote:
@@ -1117,33 +1131,33 @@ void helper_fxsave(CPUX86State *env, target_ulong
ptr, int data64)
for (i = 0; i 8; i++) {
fptag |= (env-fptags[i]
From: Richard Henderson [mailto:rth7...@gmail.com] On Behalf Of Richard
Henderson
On 06/29/2015 08:23 AM, Pavel Dovgalyuk wrote:
This patch passes TB return address into softmmu functions that are
invoked from target helpers. This allows correct PC and icount recovering
while handling
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-18 16:28, Pavel Dovgalyuk wrote:
This patch improves exception handling in MIPS.
Instructions generate several types of exceptions.
When exception is generated, it breaks the execution of the current
translation
block.
Forgot to fix the subject.
These patches also fix exceptions handling for PowerPC.
Pavel Dovgalyuk
-Original Message-
From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
Sent: Monday, June 29, 2015 10:23 AM
To: qemu-devel@nongnu.org
Cc: rth7...@gmail.com; ag...@suse.de;
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-18 16:28, Pavel Dovgalyuk wrote:
This patch introduces several helpers to pass return address
which points to the TB. Correct return address allows correct
restoring of the guest PC and icount. These functions should be used
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 31/05/2015 08:11, Peter Crosthwaite wrote:
+/* If not executing code then assume we are ok. */
+if (cpu-current_tb == NULL) {
+return true;
+}
+return cpu-can_do_io != 0;
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 24/06/2015 13:40, Pavel Dovgaluk wrote:
+/* If not executing code then assume we are ok. */
+if (cpu-current_tb == NULL) {
+return true;
+}
+return cpu-can_do_io != 0;
For what it's worth, I
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-18 12:02, Paolo Bonzini wrote:
TCG can then use them to fill in an array stored inside the
TranslationBlock, together with the host PC. Since the gen_opc_pc,
gen_opc_instr_start, gen_opc_icount arrays are inside tcg_ctx, it
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-17 15:41, Pavel Dovgalyuk wrote:
In icount mode every translation block looks as follows:
if icount n then exit
icount -= n
instr1
instr2
...
instrn
exit
When one of these instructions initiates an exception,
From: Peter Maydell [mailto:peter.mayd...@linaro.org]
On 18 June 2015 at 08:12, Pavel Dovgaluk pavel.dovga...@ispras.ru wrote:
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
Looking at how icount work, I see it's basically a variable in the CPU
state (icount_decr.u16.low), which
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-18 10:12, Pavel Dovgaluk wrote:
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-17 15:41, Pavel Dovgalyuk wrote:
In icount mode every translation block looks as follows:
if icount n then exit
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 17/06/2015 14:42, Pavel Dovgalyuk wrote:
This patch introduces several helpers to pass return address
which points to the TB. Correct return address allows correct
restoring of the guest PC and icount. These functions should be used when
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 18/06/2015 11:24, Pavel Dovgaluk wrote:
+uint16_t helper_call_ldw_cmmu(CPUArchState *env, target_ulong addr,
+ int mmu_idx, uintptr_t retaddr);
What about helper_ret_ldw_cmmu for consistency
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-17 15:41, Pavel Dovgalyuk wrote:
This set of patches fixes exception handling for MIPS and i386 targets.
These targets contain instructions that break correct execution in
icount/TCG modes (MIPS) and in regular TCG mode (i386).
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 17/06/2015 14:42, Pavel Dovgalyuk wrote:
This patch introduces several helpers to pass return address
which points to the TB. Correct return address allows correct
restoring of the guest PC and icount. These functions should be used when
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-15 07:53, Pavel Dovgaluk wrote:
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-10 11:33, Pavel Dovgalyuk wrote:
This patch fixes exception handling in MIPS.
MIPS instructions generate several types
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-15 07:53, Pavel Dovgaluk wrote:
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-10 11:33, Pavel Dovgalyuk wrote:
This patch fixes exception handling in MIPS.
MIPS instructions generate several types
From: Aurelien Jarno [mailto:aurel...@aurel32.net]
On 2015-06-10 11:33, Pavel Dovgalyuk wrote:
This patch fixes exception handling in MIPS.
MIPS instructions generate several types of exceptions.
When exception is generated, it breaks the execution of the current
translation
block.
Broken description. This one is correct:
replay: recording of the user input
This records user input (keyboard and mouse events) in record mode and replays
these input events in replay mode.
Pavel Dovgalyuk
-Original Message-
From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
Ping?
-Original Message-
From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
Sent: Wednesday, May 06, 2015 5:03 PM
To: qemu-devel@nongnu.org
Cc: peter.mayd...@linaro.org; peter.crosthwa...@xilinx.com; ebl...@redhat.com;
mark.bur...@greensocs.com; r...@ispras.ru;
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 12/05/2015 17:32, Peter Maydell wrote:
In order for -icount to work, it's important for the target
translate.c code to correctly bracket any generated code which
can do I/O with gen_io_start()/gen_io_end()
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 06/05/2015 16:04, Pavel Dovgalyuk wrote:
This patch introduces aio_bh_call function. It is used to execute
bottom halves as callbacks without adding them to the queue.
Signed-off-by: Pavel Dovgalyuk pavel.dovga...@ispras.ru
---
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 05/05/2015 12:22, Pavel Dovgaluk wrote:
This patch is the reduced version of prior bottom halves patch.
dma-helpers.c is also related to block devices, so it's better not to
change it now.
Ok.
Perhaps you can add a replay event
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 27/04/2015 09:32, Pavel Dovgalyuk wrote:
This set of patches is related to the reverse execution and deterministic
replay of qemu execution. This implementation of deterministic replay can
be used for deterministic debugging of guest code
This patch is the reduced version of prior bottom halves patch.
Pavel Dovgalyuk
-Original Message-
From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
Sent: Tuesday, May 05, 2015 1:19 PM
To: qemu-devel@nongnu.org
Cc: peter.mayd...@linaro.org; peter.crosthwa...@xilinx.com;
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 27/02/2015 14:11, Pavel Dovgalyuk wrote:
This patch adds identifier to aio requests. ID is used for creating bottom
halves and identifying them while replaying.
The patch also introduces several functions that make possible replaying
of
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 18/02/2015 12:55, Pavel Dovgalyuk wrote:
This set of patches is related to the reverse execution and deterministic
replay of qemu execution. This implementation of deterministic replay can
be used for
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 18/02/2015 12:57, Pavel Dovgalyuk wrote:
@@ -2751,6 +2757,7 @@ int main(int argc, char **argv, char **envp)
{
int i;
int snapshot, linux_boot;
+const char *icount_option = NULL;
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 16/02/2015 14:37, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 16/02/2015 14:27, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:paolo.bonz
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 17/02/2015 09:43, Pavel Dovgaluk wrote:
int64_t deadline = qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL);
if (deadline == 0) {
qemu_clock_notify(QEMU_CLOCK_VIRTUAL);
}
instead of qemu_notify_event
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 16/02/2015 14:27, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 16/02/2015 13:26, Pavel Dovgaluk wrote:
I think in this case
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 02/02/2015 13:42, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 02/02/2015 13:28, Pavel Dovgaluk wrote:
cpu-exception_index = EXCP_INTERRUPT
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 16/02/2015 13:26, Pavel Dovgaluk wrote:
I think in this case there are no events at all - just reading timers
values
that were made while recording.
We have to replay these reads by waking
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 22/01/2015 09:53, Pavel Dovgalyuk wrote:
+if (replay_mode != REPLAY_MODE_PLAY) {
+evt = qemu_input_event_new_key(key, down);
+if (QTAILQ_EMPTY(kbd_queue)) {
+
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 09/02/2015 13:15, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
break;
case QEMU_OPTION_audio_help:
AUD_help ();
@@ -3244,6 +3254,7 @@ int main(int argc, char
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:53, Pavel Dovgalyuk wrote:
This patch introduces bottom half event for replay queue. It saves the
events
into the queue and process them at the checkpoints and instructions
execution.
Which bottom halves must _not_ go
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 22/01/2015 09:53, Pavel Dovgalyuk wrote:
+void replay_input_event(QemuConsole *src, InputEvent *evt)
+{
+if (replay_mode == REPLAY_MODE_PLAY) {
+/* Nothing */
+} else if (replay_mode ==
From: Stefan Weil [mailto:s...@weilnetz.de]
Am 09.02.2015 um 09:07 schrieb Pavel Dovgaluk:
From: Stefan Weil [mailto:s...@weilnetz.de]
Am 09.02.2015 um 08:55 schrieb Pavel Dovgalyuk:
On w64, setjmp is implemented by _setjmp which needs a second parameter.
This parameter should be NULL
From: Stefan Weil [mailto:s...@weilnetz.de]
Am 09.02.2015 um 08:55 schrieb Pavel Dovgalyuk:
On w64, setjmp is implemented by _setjmp which needs a second parameter.
This parameter should be NULL to allow using longjump from generated code.
This patch replaces all usages of setjmp.h with
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:53, Pavel Dovgalyuk wrote:
This patch introduces the functions for enabling the record/replay and for
freeing the resources when simulator closes.
Signed-off-by: Pavel Dovgalyuk pavel.dovga...@ispras.ru
};
/*
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:53, Pavel Dovgalyuk wrote:
This patch introduces command line options for enabling recording or
replaying
virtual machine behavior. -record option starts recording of the execution
and saves it into the log, specified
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 03/02/2015 11:51, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:52, Pavel Dovgalyuk wrote:
Clock ticks are considered as the sources of non-deterministic data for
virtual machine. This patch
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:52, Pavel Dovgalyuk wrote:
This patch introduces functions for recording and replaying realtime
sources,
that do not use qemu-clock interface. These include return value of time()
function in time_t and struct tm forms.
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:52, Pavel Dovgalyuk wrote:
Clock ticks are considered as the sources of non-deterministic data for
virtual machine. This patch implements saving the clock values when they
are acquired (virtual, host clock, rdtsc, and some
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 02/02/2015 13:28, Pavel Dovgaluk wrote:
cpu-exception_index = EXCP_INTERRUPT;
next_tb = 0;
+qemu_notify_event();
Why is this needed
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:52, Pavel Dovgalyuk wrote:
+if (replay_mode == REPLAY_MODE_RECORD) {
+replay_save_instructions();
+replay_put_event(EVENT_EXCEPTION);
+return true;
Missing mutex lock/unlock.
I think not. We
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:52, Pavel Dovgalyuk wrote:
This patch adds calls to replay functions into the icount setup block.
In record mode number of executed instructions is written to the log.
In replay mode number of istructions to execute is taken
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 22/01/2015 09:51, Pavel Dovgalyuk wrote:
These patches include only core function of the replay,
excluding the support for replaying serial, audio, network, and USB devices'
operations. Reverse debugging
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 22/01/2015 09:51, Pavel Dovgalyuk wrote:
This patch adds functions to perform read and write operations
with replay log.
Signed-off-by: Pavel Dovgalyuk pavel.dovga...@ispras.ru
---
+void replay_check_error(void)
Could this be
Ping?
Pavel Dovgalyuk
-Original Message-
From: Pavel Dovgalyuk [mailto:pavel.dovga...@ispras.ru]
Sent: Thursday, January 22, 2015 11:52 AM
To: qemu-devel@nongnu.org
Cc: peter.mayd...@linaro.org; peter.crosthwa...@xilinx.com; ebl...@redhat.com;
mark.bur...@greensocs.com;
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 13/01/2015 10:15, Pavel Dovgaluk wrote:
The numbers have no meaning. They just have to be distinct in different
places.
This is easier to achieve if you give a name to each place.
Sorry, missed one thing.
run_all is used
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 19/01/2015 14:10, Pavel Dovgaluk wrote:
Because 'A' is written only inside some of the replay_run_event
callbacks.
It depends on type of the event and it's processing function inside
the QEMU core.
There could
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 19/01/2015 13:03, Pavel Dovgaluk wrote:
It will work for protecting the events list (I've already did this).
But that will not work for protecting the log file.
replay_run_event can write some data to the log. And also some other
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 19/01/2015 13:43, Pavel Dovgaluk wrote:
For example, why can't replay_run_event (or something
that it calls) take the replay lock locally, when it writes to the log?
replay_run_event can take the lock. Suppose that it writes data
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 19/01/2015 14:01, Pavel Dovgaluk wrote:
It would be easier if you pointed me to actual code in the series. But
this doesn't seem impossible to fix by atomically writing the 'E' and
'A' in the same critical section.
Because
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 16/01/2015 09:03, Pavel Dovgaluk wrote:
There is one problem with protecting log file inside the replay code.
We probably should have the following sequence of calls:
lock_replay_mutex
replay_save_events
replay_run_event
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 13/01/2015 10:21, Pavel Dovgaluk wrote:
+/*! Reads next clock event from the input. */
+int64_t replay_read_clock(unsigned int kind)
+{
+if (kind = REPLAY_CLOCK_COUNT) {
+fprintf(stderr, invalid clock ID %d
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:01, Pavel Dovgalyuk wrote:
+void qemu_input_event_send(QemuConsole *src, InputEvent *evt)
{
-QemuInputHandlerState *s;
-
if (!runstate_is_running() !runstate_check(RUN_STATE_SUSPENDED)) {
return;
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:40, Pavel Dovgaluk wrote:
Perhaps check the replay_interrupt() outside, in an with if
(unlikely(interrupt_request))?
You mean that I should wrap whole condition into unlikely?
No, I wanted to have a single check
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 14/01/2015 10:07, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:40, Pavel Dovgaluk wrote:
Perhaps check the replay_interrupt() outside
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:01, Pavel Dovgalyuk wrote:
+default:
+case QEMU_CLOCK_VIRTUAL:
+if ((replay_mode != REPLAY_MODE_NONE !runstate_is_running())
+|| !replay_checkpoint(run_all ? 2 : 3)) {
+return
From: Pavel Dovgaluk [mailto:pavel.dovga...@ispras.ru]
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:01, Pavel Dovgalyuk wrote:
+default:
+case QEMU_CLOCK_VIRTUAL:
+if ((replay_mode != REPLAY_MODE_NONE !runstate_is_running
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 13/01/2015 10:15, Pavel Dovgaluk wrote:
The numbers have no meaning. They just have to be distinct in different
places.
This is easier to achieve if you give a name to each place.
Sorry, missed one thing.
run_all is used
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:00, Pavel Dovgalyuk wrote:
+/*! Reads next clock event from the input. */
+int64_t replay_read_clock(unsigned int kind)
+{
+if (kind = REPLAY_CLOCK_COUNT) {
+fprintf(stderr, invalid clock ID %d for replay\n,
From: Jan Kiszka [mailto:jan.kis...@siemens.com]
On 2014-10-22 13:38, Pavel Dovgalyuk wrote:
This patch fixes instructions counting when execution is stopped on
breakpoint (e.g. set from gdb). Without a patch extra instruction is
translated
and icount is incremented by invalid value
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:01, Pavel Dovgalyuk wrote:
This patch introduces command line options for enabling recording or
replaying
virtual machine behavior. -record option starts recording of the execution
and saves it into the log, specified
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:00, Pavel Dovgalyuk wrote:
diff --git a/replay/replay.h b/replay/replay.h
index 90a949b..1c18c0e 100755
--- a/replay/replay.h
+++ b/replay/replay.h
@@ -16,6 +16,16 @@
#include stdint.h
#include qapi-types.h
+/*
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 12:59, Pavel Dovgalyuk wrote:
+##
+# ReplaySubmode:
+#
+# Submode of the replay subsystem.
+#
+# @unknown: used for modes different from play.
+#
+# @normal: normal replay mode.
+#
+# Since: 2.3
+##
+{ 'enum':
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 12/01/2015 13:00, Pavel Dovgalyuk wrote:
+if (replay_exception()) {
+cc-do_interrupt(cpu);
+cpu-exception_index = -1;
I cannot see replay_exception() in the series?
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 12/01/2015 13:00, Pavel Dovgalyuk wrote:
+
+volatile unsigned int replay_data_kind = -1;
+volatile unsigned int replay_has_unread_data;
+
Why does this have to be volatile?
I think 'volatile' is an
From: Eduardo Habkost [mailto:ehabk...@redhat.com]
On Mon, Dec 15, 2014 at 05:38:10PM +0100, Paolo Bonzini wrote:
From: Pavel Dovgalyuk pavel.dovga...@ispras.ru
Exception index is reset at every entry at every entry into cpu_exec()
function. This may cause missing the exceptions while
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
This patch sets can_do_io function to allow reading icount
within cpu-exec, but outside TB execution.
Will you apply other icount patches that enables/disables using icount in
particular TBs?
Pavel Dovgalyuk
Signed-off-by: Pavel
From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo
Bonzini
On 10/12/2014 07:35, Pavel Dovgalyuk wrote:
No, it worked well and I deleted _nocache version of that function.
But I still need _raw one to get the instructions counter.
Oh, great. This patch can also go
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 05/12/2014 06:34, Pavel Dovgaluk wrote:
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 04/12/2014 12:02, Pavel Dovgaluk wrote:
Why do you need to do this if !cpu_can_do_io(cpu)?
We save number of executed instruction when saving
From: Paolo Bonzini [mailto:pbonz...@redhat.com]
On 05/12/2014 11:55, Pavel Dovgaluk wrote:
And why is can_do_io zero? :) Is the fix to move the place where
can_do_io becomes nonzero?
can_do_io is set by gen_io_start function.
As I understand, it is used to protect determinism
1 - 100 of 223 matches
Mail list logo