On Wed, Mar 16, 2016 at 10:52 AM, Peter Maydell <peter.mayd...@linaro.org> wrote:
> > If you only emit tracing information after the TB has executed and > returned then you will miss the case where we execute half a TB > and take an exception (eg load/store that page faulted, or system call), > because in that case we'll longjmp() out of the generated code. That's > one of the reasons why the tracing we have in upstream traces before > TB execution. > What happens when the basic block gets interrupted mid execution and restarted? Will execution jump to the middle of the translated basic block, or will a new translation be performed starting at the midpoint? Firstly, are you running with -d nochain to disable QEMU's chaining > of TBs? (If not, then when we chain TBs together you'll only get > exec tracing for the first one, which is a good way to get confused. > The default tracing will tell you when we chain TBs together so you > can sort of unconfuse yourself, but it's easier to just turn it off > if you care about the TB logging.) > I was not using "-d nochain". Thank you! > thanks > -- PMM > -- Tim Newsham | www.thenewsh.com/~newsham | @newshtwit | thenewsh.blogspot.com