Re: [Qemu-devel] [RFC] reverse execution.

2013-05-29 Thread Pavel Dovgaluk
Hello. > Spot on Peter, > The (simplistic) plan is simply to take a snapshot at regular intervals, when > you want to step > backwards, you return to a snapshot, and then re-run forwards to 'just before > you started'. > > To answer Blauwirbel, we can't "approximate" this - or 'binary search' f

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-22 Thread Edgar E. Iglesias
On Fri, May 17, 2013 at 09:16:06PM +0200, Mark Burton wrote: > I wish I could say I understood it better, but at this point any insight > would be gratefully received. However, what does seem clear is that the > intent and purpose of Icount is subtly different, and possibly orthogonal to > what

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-22 Thread KONRAD Frédéric
On 18/05/2013 20:52, Blue Swirl wrote: On Fri, May 17, 2013 at 5:23 PM, KONRAD Frédéric wrote: On 09/05/2013 19:54, Blue Swirl wrote: On Tue, May 7, 2013 at 6:27 PM, KONRAD Frédéric wrote: Hi, We are trying to find a way to do reverse execution happen with QEMU. Actually, it is possible to

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-20 Thread Mark Burton
On 19 May 2013, at 23:39, Rob Landley wrote: > On 05/19/2013 03:09:14 PM, Mark Burton wrote: >> Spot on Peter, >> The (simplistic) plan is simply to take a snapshot at regular intervals, >> when you want to step backwards, you return to a snapshot, and then re-run >> forwards to 'just before yo

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-20 Thread Mark Burton
On 19 May 2013, at 23:20, Peter Maydell wrote: > On 19 May 2013 21:09, Mark Burton wrote: >>Note - what I understand by a basic block is something that ends in a >> jump/branch of some description. Hence, one thing I think you can say about a >> basic block is that each PC value within

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-19 Thread Brendan Dolan-Gavitt
Argh, reply all is needed. On May 19, 2013 4:45 PM, "Brendan Dolan-Gavitt" wrote: > We had to do something similar for our (soon to be released) record and > replay implementation. To ensure interrupts are delivered at precisely the > right time we added a global 64 bit instruction counter and th

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-19 Thread Rob Landley
On 05/19/2013 03:09:14 PM, Mark Burton wrote: Spot on Peter, The (simplistic) plan is simply to take a snapshot at regular intervals, when you want to step backwards, you return to a snapshot, and then re-run forwards to 'just before you started'. You'd have to snapshot all of memory becau

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-19 Thread Peter Maydell
On 19 May 2013 21:09, Mark Burton wrote: > Note - what I understand by a basic block is something that ends in a > jump/branch of some description. Hence, one thing I think you can say about a > basic block is that each PC value within it is unique. Hence, if I know the > number of basic b

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-19 Thread Mark Burton
Spot on Peter, The (simplistic) plan is simply to take a snapshot at regular intervals, when you want to step backwards, you return to a snapshot, and then re-run forwards to 'just before you started'. To answer Blauwirbel, we can't "approximate" this - or 'binary search' for the right place -

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-19 Thread Peter Maydell
On 19 May 2013 05:37, Rob Landley wrote: > On 05/17/2013 12:23:51 PM, KONRAD Frédéric wrote: >> It appeared that the replay is not deterministic even with icount: > You're aware that reverse execution means you have the "come from" problem, > right? (The opposite of goto.) > > You literally _can'

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-18 Thread Rob Landley
On 05/17/2013 12:23:51 PM, KONRAD Frédéric wrote: On 09/05/2013 19:54, Blue Swirl wrote: On Tue, May 7, 2013 at 6:27 PM, KONRAD Frédéric wrote: Hi, We are trying to find a way to do reverse execution happen with QEMU. ... For now we tried some other things which are not working very well,

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-18 Thread Blue Swirl
On Fri, May 17, 2013 at 5:23 PM, KONRAD Frédéric wrote: > On 09/05/2013 19:54, Blue Swirl wrote: >> >> On Tue, May 7, 2013 at 6:27 PM, KONRAD Frédéric >> wrote: >>> >>> Hi, >>> >>> We are trying to find a way to do reverse execution happen with QEMU. >>> >>> Actually, it is possible to debug the

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-17 Thread Mark Burton
I wish I could say I understood it better, but at this point any insight would be gratefully received. However, what does seem clear is that the intent and purpose of Icount is subtly different, and possibly orthogonal to what we're trying to achieve. And - actually, determinism (or the lack of

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-17 Thread Peter Maydell
On 17 May 2013 18:23, KONRAD Frédéric wrote: > It appeared that the replay is not deterministic even with icount: > - the whole icount mechanism is not saved with save_vm (which can be > achieved by moving qemu_icount to TimerState according to Paolo) > - replaying two times the same thing

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-17 Thread KONRAD Frédéric
On 09/05/2013 19:54, Blue Swirl wrote: On Tue, May 7, 2013 at 6:27 PM, KONRAD Frédéric wrote: Hi, We are trying to find a way to do reverse execution happen with QEMU. Actually, it is possible to debug the guest through the gdbstub, we want to make the reverse execution possible with GDB as w

Re: [Qemu-devel] [RFC] reverse execution.

2013-05-09 Thread Blue Swirl
On Tue, May 7, 2013 at 6:27 PM, KONRAD Frédéric wrote: > Hi, > > We are trying to find a way to do reverse execution happen with QEMU. > > Actually, it is possible to debug the guest through the gdbstub, we want to > make the reverse execution possible with GDB as well. > > How we are trying to ma