On Mon Nov 08 2010 at 21:40:49 +0000, David Holland wrote: > On Mon, Nov 08, 2010 at 06:09:39PM +0000, Antti Kantee wrote: > > Modified Files: > > src/sys/arch/mips/mips: locore_mips1.S > > > > Log Message: > > In TLBRead, restore PID before doing the saves so that the caller's > > TLB entries are used instead of the PID given as the argument. > > > > from Alessandro Forin > > This doesn't make any sense. > > As far as I can tell, the real problem is that the code is not > attending to pipeline hazards properly; moving things around until it > experimentally seems to work is just going to create other odd > behavior sometime down the line under different timing circumstances. > > I don't have a mips1-specific reference on hand, but my recollection > is that you need *three* nops when messing with cop0 registers for all > effects to flush through.
locore_mips1.S doesn't agree with your recollection, e.g. mips1_TLBUpdate right above mips1_TLBRead.