On 7 January 2011 16:01, Aurelien Jarno <aurel...@aurel32.net> wrote: > In overall I think it's the correct approach to fix the issue, this is > a really good cleanup. I have tested this patch series, and it clearly > improve armv7 support. However I am surprised it doesn't fix the issue > mentioned in https://bugs.launchpad.net/qemu/+bug/581335 , which seems > to be the same issue. Executing the testcase still returns 1 instead of > 0 on QEMU.
I think that bug is a different problem, which is that when we take an unexpected exception we don't correctly reset the condexec bits when restarting. I think that the right way to fix that is for gen_pc_load() to restore not just the PC but also the condexec bits (in the same way that on MIPS we restore env->hflags). I haven't quite managed to work that up into a patch yet, though (figuring out exactly where we do and don't need to output code to update the condexec bits is a bit tricky). I have a long plane flight on Sunday though so might have another hack at it then :-) -- PMM