[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: strange crash on FreeBSD-current/amd64 (pointer tru
Re: [Qemu-devel] Re: strange crash on FreeBSD-current/amd64 (pointer truncation?)
Sat, 3 Feb 2007 19:12:25 +0100
Hmm. All I can say is the upper half of rbx (which holds T0) gets
spilled on FreeBSD-current/amd64 hosts unless saving and restoring
the full 64 bit of it...
That's also what I got with VirtualBox on x86_64. Here is an update to
the patch I posted yesterday and that applies to current QEMU CVS
Please note this one applies unconditionnally of the host and target
combinations. Besides, I only tested the following combinations:
x86_64/x86_64-softmmu, x86_64/i386-softmmu, i586/x86_64-softmmu,
i586/i386-softmmu. And I verified that the generated code for
cpu_exec() with both gcc 3.4 and gcc 4.1 actually does the host
registers save/restore correctly.
BTW, for e.g. SPARC hosts with %l<R> registers, we could define
something like DONT_PRESERVE_AREG<AR> since those would lay in a new
register window and thus don't require an explicit save/restore.
Description: Binary data