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