Actually after trying to do lots of experiments and finally a git bisection, it turned out that the issue only affects qemu-kvm, not upstream qemu. Bisection between qemu-kvm 0.15.0 and 1.0 lead to this commit:
commit 145e11e840500e04a4d0a624918bb17596be19e9 Merge: ce967f6 b195043 Author: Avi Kivity <a...@redhat.com> Date: Wed Aug 10 12:06:58 2011 +0300 Merge commit 'b195043003d90ea4027ea01cc7a6c974ac915108' into upstream-merge * commit 'b195043003d90ea4027ea01cc7a6c974ac915108': (130 commits) ... After which I'm stuck... ;) ** Tags added: lockup qemu-kvm -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/899961 Title: qemu/kvm locks up when run 32bit userspace with 64bit kernel Status in QEMU: New Bug description: Applies to both qemu and qemu-kvm 1.0, but only when kernel is 64bit and userspace is 32bit, on x86. Did not happen with previous released versions, such as 0.15. Not all guests triggers this issue - so far, only (32bit) windows 7 guest shows it, but does that quite reliable: first boot of an old guest with new qemu (or qemu-kvm), windows finds a new CPU and suggests rebooting - hit "Reboot" and in a few seconds it will be locked up (including the monitor), with 100% CPU usage. Killable with -9. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/899961/+subscriptions