qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: strange crash on FreeBSD-current/amd64 (pointer tru


From: Gwenole Beauchesne
Subject: Re: [Qemu-devel] Re: strange crash on FreeBSD-current/amd64 (pointer truncation?)
Date: Sat, 3 Feb 2007 19:12:25 +0100

Hi,

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 instead.

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.

Regards,
Gwenole Beauchesne

<http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/qemu/ current/SOURCES/qemu-0.8.3-preserve-host-registers.patch>

Attachment: qemu-0.8.3-preserve-host-registers.patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]