freebsd-dev/sys/mips/include
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
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h Newer versions of gcc define __INT64_C and __UINT64_C, so avoid 2013-09-03 22:04:55 +00:00
_types.h Make the wchar_t type machine dependent. 2012-06-24 04:15:58 +00:00
asm.h Add "better" MIPS24k and MIPS74k barriers. 2013-10-09 00:27:12 +00:00
atomic.h Remove all the NOPs after SYNC. They aren't needed. 2013-07-07 16:12:22 +00:00
bootinfo.h
bus_dma.h
bus.h Merge Perforce changeset 219925 to head: 2013-01-12 15:58:20 +00:00
cache_mipsNN.h
cache_r4k.h
cache.h
cdefs.h
clock.h
counter.h Fix issues with zeroing and fetching the counters, on x86 and ppc64. 2013-07-01 02:48:27 +00:00
cpu.h Revert r253748,253749 2013-07-28 18:44:17 +00:00
cpufunc.h MFP4 223084, 227821: 2013-04-22 19:02:37 +00:00
cpuinfo.h
cpuregs.h Add "better" MIPS24k and MIPS74k barriers. 2013-10-09 00:27:12 +00:00
db_machdep.h
elf.h Nearly a complete rewrite of elf.h. 2013-07-09 19:01:38 +00:00
endian.h
exec.h
fdt.h Merge Perforce changeset 219925 to head: 2013-01-12 15:58:20 +00:00
float.h
floatingpoint.h
fls64.h
fpu.h
frame.h Update trapframe to be consistent with the changes made to regnum.h. This 2013-04-23 09:38:18 +00:00
gdb_machdep.h
hwfunc.h
ieee.h
ieeefp.h
in_cksum.h
intr_machdep.h
kdb.h
limits.h
locore.h
md_var.h
memdev.h
metadata.h Merge Perforce change @219948 to head: 2013-01-12 13:20:21 +00:00
minidump.h
mips_opcode.h
octeon_cop2.h
ofw_machdep.h
param.h Rename VM_NDOMAIN into MAXMEMDOM and move it into machine/param.h in 2013-05-07 22:46:24 +00:00
pcb.h Make it possible to include this file in assembler .S sources. 2013-04-25 06:29:23 +00:00
pcpu.h Merge from projects/counters: 2013-04-08 19:19:10 +00:00
pmap.h The function pmap_alloc_direct_page() unconditionally zeroes the returned 2012-11-14 17:33:00 +00:00
pmc_mdep.h
proc.h
profile.h
pte.h Introduce a new software PTE flag that indicates whether the mapping is 2012-09-01 03:46:28 +00:00
ptrace.h
reg.h
regdef.h Don't include asm.h in non-asm files. 2013-05-01 06:57:46 +00:00
regnum.h Use the offsets from pcb.h rather than regnum.h to store the registers 2013-04-25 17:23:54 +00:00
reloc.h
resource.h
runq.h
sc_machdep.h Add MD syscons header file for MIPS. 2012-08-25 17:57:50 +00:00
setjmp.h
sf_buf.h Fix build with gcc. Move sf_buf_alloc()/sf_buf_free() declarations 2013-09-06 17:44:13 +00:00
sigframe.h
signal.h
smp.h
stdarg.h
sysarch.h
tlb.h Introduce a new TLB invalidation function for efficiently invalidating 2012-10-02 07:14:22 +00:00
tls.h
trap.h
ucontext.h
varargs.h
vdso.h Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
vm.h
vmparam.h Rename VM_NDOMAIN into MAXMEMDOM and move it into machine/param.h in 2013-05-07 22:46:24 +00:00