On Mon, Jun 13, 2005 at 12:44:09PM +0100, Dominic Sweetman wrote: > > Known bugs: > > > > o ll/sc don't use a ll_bit like the real hardware thus right now any atomic > > functions aren't really atomic. > > I suppose you know that the CPUs all implement "break link on > exception" by zeroing the link bit on an 'eret'? That doesn't sound > too hard... It's not hard to add the llbit indeed - maybe I'm trying to hard to be obscure use compatible. Generally Qemu is trading the highest accuracy of emulation for speed ... > Arguably, an emulator should not provide the LLaddr register at all. > It's optional and "only available for debug" - and probably such > debugging is possible another way in an emulator. Robust software > shouldn't depend on assuming the contents make sense. The only use I've seen for this register is having it being used as a cp0 scratch register allowing to save the entire 31 GPRs. Very old Linux/MIPS used to do that but it doesn't match the reality of MIPS ABIs, so I gave up on that very soon. Like 11 years agp :) > Not quite there yet... but well done, again. Ralf