On Mon, Dec 19, 2005 at 05:24:48PM +0200, Antti P Miettinen wrote:
> Antti P Miettinen <[EMAIL PROTECTED]> writes:
> > but anyway - how would the ldm register update be made atomic? Or
> > should the restart be able to continue in the middle? How are the
> > atomicity issues handled in qemu?
> 
> I wonder how the ARM implementations handle it..
> 
> The below is a quick test how the atomicity could be achieved with
> shadow registers. Is this a feasible approach? The diff is not a
> proper/complete patch - I just wanted to see whether it makes a
> different. It does - the firefox compile proceeds..

You don't need anything near this complicated: if the register being
set is the base register, copy it into T2 instead of overwriting the
base register.  Then at the end, if the base register was loaded, copy
T2 into the base register.  That's all the atomicity you need; the
instruction is being restarted after the base register was clobbered.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to