Adrian Chadd 4cfbfdd4b3 Add "better" MIPS24k and MIPS74k barriers.
* the mips74k cores only need EHB (which is 'sll $0, $0, 3')
  here; NOPs don't actually work.

* add EHB as the last NOP for the default barriers/hazards;
  that is "better" behaviour and should work on a wider
  variety of processors.

This allows the existing (icky) TLB code to work, allowing
the AR9344 SoC (mips74k) to actually get through kernel startup.

Tested:

* AR9344 SoC - (mips74k)
* AR9331 SoC - (mips24k)

TODO:

* test on mips4k CPUs, just to be sure.

* document that sll $0, $0, 3 is actually "EHB" and that it
  falls back to being a NOP for pre-mips32r1.

* mips24k has an errata that we currently don't correctly explicitly
  state - ie, that after DERET/ERET, the only valid instruction is
  a NOP.

Reviewed by:	imp@
Approved by:	re@ (gjb)
2013-10-09 00:27:12 +00:00
..
2013-01-12 15:58:20 +00:00
2013-07-28 18:44:17 +00:00
2013-04-22 19:02:37 +00:00
2012-01-13 23:31:36 +00:00
2013-07-09 19:01:38 +00:00
2013-01-12 15:58:20 +00:00
2012-05-24 22:00:48 +00:00
2011-12-30 03:54:22 +00:00
2011-10-18 07:29:21 +00:00
2013-04-08 19:19:10 +00:00
2012-03-28 20:58:30 +00:00
2013-05-01 06:57:46 +00:00
2011-05-13 16:42:05 +00:00