freebsd-dev/sys/mips/mips
Robert Watson 051d6b64cd Merge FreeBSD/beri Perforce change @211945 to head:
Modify MIPS page table entry (PTE) initialisation so that cachability
bits are set only once, using is_cacheable_mem() to determine what
caching properties are required, rather than also unconditionally
setting PTE_C_CACHE in init_pte_prot().  As PTE_C_CACHE |
PTE_C_UNCACHED == PTE_C_CACHE, this meant that all userspace memory
mappings of device memory (incorrectly) used caching TLB entries.

This is arguably not quite what we want, even though it is (more)
consistent with the MIPS pmap design: PTE caching properties should
be derived from machine-independent page table attributes, but this
is a substantially more complex change as the MIPS pmap doesn't yet
know about page attributes, causing it to ignore requests by device
drivers that want uncached userspace memory mappings as they
describe memory-mapped FIFOs or shared memory with a device not
participating in the cache coherence scheme.

This fixes cacheability issues (specifically, undesired and
unrequested caching) seen in userspace memory mappings of Avalon SoC
bus device memory on BERI MIPS.

Discussed with:	jmallett, alc
Sponsored by:	DARPA, AFRL
MFC after:	3 days
2012-07-28 11:09:03 +00:00
..
autoconf.c o) Eliminate the "stand" frame and its use. Use CALLFRAME_* everywhere. 2010-04-19 07:34:26 +00:00
bus_space_generic.c Clean up various aspects of the MIPS generic busspace implementation: 2012-05-02 08:23:53 +00:00
busdma_machdep.c - Change contigmalloc() to use the vm_paddr_t type instead of an unsigned 2012-03-01 19:58:34 +00:00
cache_mipsNN.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
cache.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
cpu.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
db_disasm.c Fix DDB x/i addr[,count] command for count > 1 case 2012-01-08 00:34:39 +00:00
db_interface.c Merge jmallett@'s n64 work into HEAD 2010-07-12 10:22:58 +00:00
db_trace.c Fix backtrace for MIPS64: 2012-01-13 23:31:36 +00:00
dump_machdep.c Fix a typo in cb_dumpdata() about wrongly calling wdog_kern_pat(). 2011-08-13 17:17:04 +00:00
elf_machdep.c - Fix .rela case of R_MIPS_26 relocation. Addednds save diferently for 2012-01-13 07:00:47 +00:00
elf_trampoline.c Support compiling MIPS elf trampoline with a different ABI. 2011-07-16 17:22:01 +00:00
exception.S Add DTrace-related part to machine-dependent code: 2012-03-24 05:17:38 +00:00
fp.S Prefer the cpuregs.h spellings of register and bit names over cpu.h. 2010-07-14 00:41:22 +00:00
freebsd32_machdep.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
gdb_machdep.c Use curthread rather than PCPU_GET(curthread). 'curthread' uses 2011-12-29 16:40:54 +00:00
genassym.c Garbage collect some unused symbols. 2012-03-06 08:40:21 +00:00
in_cksum.c Merge from projects/mips to head by hand: 2010-01-10 20:29:20 +00:00
inckern.S Make the ELF trampoline binary ELF executable (and do some cleanup). 2010-12-16 04:56:03 +00:00
intr_machdep.c Move PMC hook invocation to cpu_intr. The idea is the same as with ast() 2012-03-22 17:47:52 +00:00
libkern_machdep.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
locore.S At the risk of reducing source compatibility with old NetBSD and Sprite: 2012-03-06 19:01:32 +00:00
machdep.c Reinstate the XTLB handler for CPU_NLM and CPU_RMI 2012-04-02 11:41:33 +00:00
mem.c Fix for crash on MIPS /dev/mem read. 2011-10-17 05:42:53 +00:00
minidump_machdep.c Fixup for r216141, dump_add_page needs to be non-static now. 2010-12-03 14:20:20 +00:00
mp_machdep.c Remove pc_cpumask and pc_other_cpus from MIPS support. 2011-06-28 12:51:08 +00:00
mpboot.S Get rid of duplicated versions of the KSU bits. 2012-03-06 23:08:02 +00:00
nexus.c Allow for MIPS devices to have a specific probe/attach order. 2012-04-21 04:17:30 +00:00
octeon_cop2_swtch.S - Add better COP2 (crypto coprocessor) context handler for Octeon. Keep 2012-01-06 01:23:26 +00:00
octeon_cop2.c - Add better COP2 (crypto coprocessor) context handler for Octeon. Keep 2012-01-06 01:23:26 +00:00
pm_machdep.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
pmap.c Merge FreeBSD/beri Perforce change @211945 to head: 2012-07-28 11:09:03 +00:00
ptrace_machdep.c Place holder ptrace mips module. Not entirely sure what's required 2009-12-17 23:55:49 +00:00
stack_machdep.c Merge jmallett@'s n64 work into HEAD - changeset 7 2010-06-24 08:08:43 +00:00
support.S o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
swtch.S o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
sys_machdep.c Reduce diffs with freebsd32_sysarch. 2012-03-10 06:31:28 +00:00
tick.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00
tlb.c Remove save/restore of PageMask in tlb.c functions introduced in r209243. 2010-07-02 12:01:46 +00:00
trap.c Disable FP instruction emulation by default on !o32 because of ABI concerns. 2012-03-29 02:04:15 +00:00
uio_machdep.c Put the general logic for being a CPU hog into a new function 2011-02-02 16:35:10 +00:00
uma_machdep.c UMA_MD_SMALL_ALLOC for mips. 2010-12-09 06:34:28 +00:00
vm_machdep.c o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern 2012-03-12 21:25:32 +00:00