[panda-users] Pausing QEMU from within a callback

Joshua Hodosh josh.hodosh at ll.mit.edu
Mon Apr 27 13:29:10 EDT 2015


Yes, that is the expected behavior.

Snapshotting from withing a basic block may cause errors due to
shortcuts QEMU takes for emulation. I'm most familiar with the ARM
emulation code, where condition and some other registers aren't updating
during execution, but during bookkeeping after the basic block is finished.

Josh


On 04/27/2015 12:29 PM, Igor R wrote:
> Hello,
>
> I'd like to pause QEMU before some instruction, and then create a
> snapshot. For this purpose, I call vm_stop(RUN_STATE_PAUSED) in
> PANDA_CB_INSN_EXEC callback, which gets invoked before that
> instruction. After the VM stops, I create a snapshot using "vmsave"
> command (via monitor or QMP).
> However, it seems that the VM doesn't stop at that point exactly -
> instead, it continues until the end of the basic-block(?).
> Is it the expected behavior? Is there some other way to make a
> snapshot just before a specific instruction (maybe by calling some
> function within the callback)?
>
> Thanks!
> _______________________________________________
> panda-users mailing list
> panda-users at mit.edu
> http://mailman.mit.edu/mailman/listinfo/panda-users



More information about the panda-users mailing list