Port-mips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: MIPS 74K and execution hazards
On Sep 22, 2010, at 9:29 AM, Gregory T. Andersen wrote:
> Has anyone done any work for MIPS 74K CPUs (mips32r2)? We have run into an
> issue where it seems a lot of the low level code (mipsX_subr.S, locore.S)
> does not have support for MIPS execution hazards. The big offenders seem to
> be the TLB/CP0 instructions (tlbp, tlbw, mtc0, mfc0, etc..).
I'd love to have to a mipsXXr2 to play with to actually make the r2 features
work.
> Rather than use nop slots after instructions MIPS32 requires use of ssnop
> (mips32r1) or ehb (mips32r2) instructions to guarantee clearing of execution
> hazards in MIPS superscaler designs.
I find the COP0_SYNC stuff to be horrible. I've been planning on making adding
mips32r2_subr.S and mips64r2_subr.S so I can use those features. But locore is
more difficult since it's not CPU specific.
> We have a heavy handed solution in place to get the kernel booting but were
> curious if anyone had implemented a more elegant/tested solution?
If have a few ideas in mind but haven't done anything with it due to lack of
anything to test on.
Home |
Main Index |
Thread Index |
Old Index