Jan Kiszka a écrit : > Aurelien Jarno wrote: >> Jun Koi a écrit : >>> On Wed, Apr 14, 2010 at 12:28 AM, Jan Kiszka <jan.kis...@siemens.com> wrote: >>>> Alexander Graf wrote: >>>>> On 13.04.2010, at 15:36, Jan Kiszka wrote: >>>>> >>>>>> Jun Koi wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I am looking into the singlestep command in monitor interface, and it >>>>>>> seems that we only take into account the singlestep flag when we are >>>>>>> translating code. >>>>>>> So for the already-translated code, we will miss singlestep? >>>>>> This feature is broken. For TCG, it should at least flush the >>>>>> translation buffer, and for KVM it has to enable single-stepping in the >>>>>> kernel. That's what happens automatically when you call cpu_single_step. >>>>>> I guess 'singlestep' wants to be somehow orthogonal to this. But this is >>>>>> the wrong approach. >>>>>> >>>>>> Does anyone actually used this feature or still does so? It looks fairly >>>>>> redundant to me, kind of a poor-man's gdb front-end as part of the >>>>>> monitor console. >>>>> Not sure what it does, but I use -singlestep quite a lot to get register >>>>> dumps for instructions when using -d cpu. >>>> Ah, "singlestep" is not about stopping the VM after each instruction but >>>> about limiting the TB length to a single instruction. Badly named and >>>> poorly documented. >>>> >>>> In that case, the dynamic switch should already be fine by adding a >>>> tb_flush() on enable. Still, someone should also patch at least the docs. >>>> >> What's the real point of flushing the tb to get it retranslated again? >> It will be retranslated in the exact same way. > > Nope. AFAIU, 'singlestep' will enforce single-instruction TBs. >
Ah ok, you mean it flushes the already translate TB. It makes sense now. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net