opnsense-src/sys/mips/include
Adrian Chadd 941f53b9a9 mips74k: use cache-writeback for memory, not writethrough.
When I ported this code from netbsd I was .. slightly mips74k greener.
I used writethrough because (a) it's what netbsd did, and (b) if I used
writethrough then things "didn't work."

Fast-forward a couple years, more MIPS hacking and a whole lot more
understanding of the bus APIs (the last few commits notwithstanding;
it's been a long week, ok?) and I have this working for arge,
argemdio, spi and ath.  Hans has it working for USB.  The ath barrier
code will come in a later commit.

This gets the routing throughput up from 220mbit -> 337mbit.
I'm sure the bridging throughput will be similarly improved.

Tested:

* QCA955x SoC, routing workload.
2015-10-31 00:04:44 +00:00
..
_align.h Merge from projects/mips to head by hand: 2010-01-10 19:50:24 +00:00
_bus.h o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
_inttypes.h Replace __LP64__ with __mips_n64. This partly reverts r217147. 2011-02-04 13:09:46 +00:00
_limits.h Replace __LP64__ with __mips_n64. This partly reverts r217147. 2011-02-04 13:09:46 +00:00
_stdint.h Newer versions of gcc define __INT64_C and __UINT64_C, so avoid 2013-09-03 22:04:55 +00:00
_types.h Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4 2014-04-01 14:46:11 +00:00
asm.h Add FPU support for MIPS setjmp(3)/longjmp(3). 2014-11-21 20:02:06 +00:00
atomic.h Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
bootinfo.h Update MIPS bootinfo.h to reflect the actual MIPS boot2/loader boot-time 2014-02-19 09:19:09 +00:00
bus.h Update NetBSD Foundation copyrights to 2-clause BSD 2014-03-18 01:40:25 +00:00
bus_dma.h
cache.h Remove more unused code and declarations, and add dire warnings to the 64-bit 2012-03-12 08:13:04 +00:00
cache_mipsNN.h Add 64 byte linesize cache flushing routines for L1 instruction, L1 data 2015-03-26 14:51:24 +00:00
cache_r4k.h Add 64 byte linesize cache flushing routines for L1 instruction, L1 data 2015-03-26 14:51:24 +00:00
cdefs.h Update macros for multiple ABI support from NetBSD. 2010-03-02 07:27:30 +00:00
clock.h Remove unused stuff from cpu.h. 2010-07-15 01:58:20 +00:00
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: 2013-10-22 21:08:25 +00:00
cpuinfo.h Add L2-cache writeback/flush operations. Supported 32,128-byte line-size, 2014-11-20 17:06:41 +00:00
cpuregs.h mips74k: use cache-writeback for memory, not writethrough. 2015-10-31 00:04:44 +00:00
db_machdep.h Fix backtrace for MIPS64: 2012-01-13 23:31:36 +00:00
dump.h Factor out duplicated code from dumpsys() on each architecture into generic 2015-01-07 01:01:39 +00:00
elf.h Update ELF headers to include additional defines 2015-01-02 15:36:29 +00:00
endian.h Add parentheses around the argument 'x' used in the __bswapXX(x) macros. Revert 2010-08-11 02:28:39 +00:00
exec.h
fdt.h Retire machine/fdt.h as a header used by MI code, as its function is now 2014-01-05 18:46:58 +00:00
float.h Rationalize BSD license on sys/*/include/float.h 2015-08-05 17:05:35 +00:00
floatingpoint.h
fls64.h With this commit our friend RMI will now compile. I have 2009-10-30 08:53:11 +00:00
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 Remove platform APIs which are not used by any code and which had only stub 2012-03-12 07:34:15 +00:00
ieee.h
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
in_cksum.h Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
intr_machdep.h Increment the vm stats "v_intr" counter so the global system interrupt 2015-05-16 23:51:24 +00:00
kdb.h Stash the context of the running thread at the time an IPI_STOP is received 2010-03-11 07:17:14 +00:00
limits.h
locore.h At the risk of reducing source compatibility with old NetBSD and Sprite: 2012-03-06 19:01:32 +00:00
md_var.h Factor out duplicated code from dumpsys() on each architecture into generic 2015-01-07 01:01:39 +00:00
memdev.h Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
metadata.h Merge Perforce change @219948 to head: 2013-01-12 13:20:21 +00:00
minidump.h
mips_opcode.h - Emulate RDHWR instruction for TLS support 2012-02-09 22:17:13 +00:00
octeon_cop2.h - Add better COP2 (crypto coprocessor) context handler for Octeon. Keep 2012-01-06 01:23:26 +00:00
ofw_machdep.h FDT support for MIPS. 2011-10-18 07:29:21 +00:00
param.h Add fueword(9) and casueword(9) functions. They are like fuword(9) 2014-10-28 15:22:13 +00:00
pcb.h Move DO_AST into pcb.h where it should have been all along. Move some 2013-10-15 04:36:34 +00:00
pcpu.h Similarly to other architecture, add the include for cpufunc.h which is 2015-05-28 12:33:21 +00:00
pmap.h Switch from a stub to a real implementation of pmap_page_set_attr() for mips, 2015-10-21 14:57:59 +00:00
pmc_mdep.h Add software PMC support. 2012-03-28 20:58:30 +00:00
proc.h Remove more unused code and declarations, and add dire warnings to the 64-bit 2012-03-12 08:13:04 +00:00
profile.h Update MIPS _stdint.h for 64 bit. Initial 64 bit changes for profile.h. 2010-07-29 14:04:29 +00:00
pte.h MFP4: 2013-10-23 21:35:39 +00:00
ptrace.h
reg.h Move the 32-bit compatible procfs types from freebsd32.h to <sys/procfs.h> 2015-04-08 16:30:45 +00:00
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 Fix RQB_FFS for 64 bit, we need to use ffsl() for 64bit. 2010-07-29 13:52:46 +00:00
sc_machdep.h Add MD syscons header file for MIPS. 2012-08-25 17:57:50 +00:00
setjmp.h Merge jmallett@'s n64 work into HEAD - changeset 7 2010-06-24 08:08:43 +00:00
sf_buf.h style(9) 2014-09-07 05:47:48 +00:00
sigframe.h o) Add COMPAT_FREEBSD32 support for MIPS kernels using the n64 ABI with userlands 2012-03-03 08:19:18 +00:00
signal.h
smp.h Add the cpuset_t conversion for mips. 2011-05-13 16:42:05 +00:00
stdarg.h
sysarch.h Merge r195128 from project/mips to head. 2010-01-09 04:59:57 +00:00
tlb.h Introduce a new TLB invalidation function for efficiently invalidating 2012-10-02 07:14:22 +00:00
tls.h When emulating rdhwr for TLS, use the 32-bit offset under COMPAT_FREEBSD32. 2012-03-06 07:47:28 +00:00
trap.h Remove platform APIs which are not used by any code and which had only stub 2012-03-12 07:34:15 +00:00
ucontext.h Fix two and a half oversights in COMPAT_FREEBSD32 related to contexts and 2012-03-06 07:50:45 +00:00
varargs.h
vdso.h Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
vm.h Use VM_MEMATTR_UNCACHEABLE for the constant for UC memory rather than 2012-03-29 16:48:36 +00:00
vmparam.h Retire VM_FREEPOOL_CACHE as the next step in eliminating PG_CACHE pages. 2015-06-08 04:59:32 +00:00