On 17 September 2012 18:09, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 17/09/2012 19:06, Peter Maydell ha scritto: >>> > The return value is used nowhere. >> ...it looks like we should probably assert() rather than ploughing >> blindly forward if we try to restore state to match a PC value and >> it doesn't work for some reason. > > Couldn't that mean simply that the tb for instance wasn't mapped > anywhere? That's the KVM case, at least.
Hmm. For TCG there are certainly some cases where failure to cpu_restore_state() means that the current CPU state is now broken; that should be fatal (and I'm not sure there are any cases where failure is OK. I think calls are generally protected by checking that tb_find_pc() returned non-NULL, so we shouldn't be trying to restore state unless we really were in the middle of a TB that we know about and can translate.) I'm not sure what the TB concept means for KVM -- after all KVM doesn't do any translation... -- PMM