freebsd-dev/sys/mips
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
..
adm5120 Fix low-level uart drivers that set their fifo sizes in the softc too late. 2013-04-01 00:44:20 +00:00
alchemy Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
atheros Fix the AR933x CPU UART support by using the correct clock when calculating 2013-09-21 19:42:37 +00:00
beri Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
cavium Yarrow wants entropy estimations to be conservative; the usual idea 2013-09-06 17:51:52 +00:00
conf set ROOTDEVNAME to ada0 with no paritions. This makes it much more functional 2013-10-02 14:43:17 +00:00
gxemul Add 32-bit support for Gxemul's oldtestmips machine emulation 2013-09-04 20:34:36 +00:00
idt Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
include Add "better" MIPS24k and MIPS74k barriers. 2013-10-09 00:27:12 +00:00
malta YAMON is 32-bit application and uses 32-bit pointers to pass kernel 2013-08-31 01:24:05 +00:00
mips Shuffle the includes around so they occur after opt_global.h is included; 2013-10-09 00:22:21 +00:00
nlm Fixes for the Netlogic XLP on-chip RSA block driver 2013-10-04 11:11:51 +00:00
rmi MFcalloutng: 2013-02-28 13:46:03 +00:00
rt305x Fix undefined behaviour in several gpio_pin_setflags() routines (under 2013-04-13 21:21:13 +00:00
sentry5 Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
sibyte Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00