In qemu-0.9.0, an exception in cmpxchg8b (e.g. page fault due to a
missing TLB entry) causes the wrong eip value to be pushed onto the
exception stack -- it seems to be the eip of the last exception or the
start of the translation block, whichever happened last. This makes
it impossible to
a patch like this was posted about 6 weeks ago. the
only difference I can see between this and the
previous patch is the location of the inserted
function.
take a look at
http://lists.gnu.org/archive/html/qemu-devel/2007-03/msg00123.html
for hints. This patch fixed the Solaris/express
Thanks. Looks like inline-generated instructions use
cpu_restore_state() to invert the translated PC into the simulated PC.
Nickolai.