freebsd-dev/sys/amd64/amd64
Konstantin Belousov 3ade944019 Do not flush cache for PCIe config window.
Apparently AMD machines cannot tolerate this. This was uncovered by
r339386, where cache flush started really flushing the requested range.

Introduce pmap_mapdev_pciecfg(), which simply does not flush cache
comparing with pmap_mapdev().  It assumes that the MCFG region was
never accessed through the cacheable mapping, which is most likely
true for machine to boot at all.

Note that i386 does not need the change, since the architecture
handles access per-page due to the KVA shortage, and page remapping
already does not flush the cache.

Reported and tested by:	mjg, Mike Tancsa <mike@sentex.net>
Reviewed by:	alc
Sponsored by:	The FreeBSD Foundation
Approved by:	re (gjb)
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D17612
2018-10-18 20:49:16 +00:00
..
apic_vector.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
atpic_vector.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
bios.c sys/amd64: further adoption of SPDX licensing ID tags. 2017-11-27 15:03:07 +00:00
bpf_jit_machdep.c Make UMA and malloc(9) return non-executable memory in most cases. 2018-06-13 17:04:41 +00:00
bpf_jit_machdep.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
copyout.c amd64: macroify copyin/copyout and provide erms variants 2018-09-20 18:30:17 +00:00
cpu_switch.S Enable eager FPU context switch by default on amd64. 2018-06-13 17:55:09 +00:00
db_disasm.c sys: Replace zero with NULL for pointers. 2017-02-22 02:35:59 +00:00
db_interface.c Provide KPI for handling of rw/ro kernel text. 2018-03-20 17:43:50 +00:00
db_trace.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
efirt_machdep.c Catch exceptions during EFI RT calls on amd64. 2018-09-02 21:37:05 +00:00
efirt_support.S Catch exceptions during EFI RT calls on amd64. 2018-09-02 21:37:05 +00:00
elf_machdep.c Prepare the kernel linker to handle PC-relative ifunc relocations. 2018-08-22 20:44:30 +00:00
exception.S Update L1TF workaround to sustain L1D pollution from NMI. 2018-08-19 18:47:16 +00:00
fpu.c Extend ranges of the critical sections to ensure that context switch 2018-07-24 19:22:52 +00:00
gdb_machdep.c Provide KPI for handling of rw/ro kernel text. 2018-03-20 17:43:50 +00:00
genassym.c Catch exceptions during EFI RT calls on amd64. 2018-09-02 21:37:05 +00:00
in_cksum.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
initcpu.c Use SMAP on amd64. 2018-07-29 20:47:00 +00:00
io.c sys/amd64: further adoption of SPDX licensing ID tags. 2017-11-27 15:03:07 +00:00
locore.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
machdep.c Call initializecpucache() before ifuncs are resolved. 2018-10-12 16:00:21 +00:00
mem.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
minidump_machdep.c Print the dump progress indicator after calling dump_start(). 2018-05-01 17:32:43 +00:00
mp_machdep.c Several bug fixes and robustness improvements for the AP boot page 2018-08-28 18:47:02 +00:00
mpboot.S x86: improve reservation of AP trampoline memory 2018-04-05 14:39:51 +00:00
pmap.c Do not flush cache for PCIe config window. 2018-10-18 20:49:16 +00:00
prof_machdep.c Fix high resolution kernel profiling just enough to not crash at boot 2018-06-02 05:48:44 +00:00
ptrace_machdep.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sigtramp.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
support.S amd64: employ MEMMOVE in copyin/copyout 2018-10-12 21:59:09 +00:00
sys_machdep.c Eliminate the arena parameter to kmem_free(). Implicitly this corrects an 2018-08-25 19:38:08 +00:00
trap.c amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval 2018-10-13 21:18:31 +00:00
uio_machdep.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uma_machdep.c Use vm_page_unwire_noq() instead of directly modifying page wire counts. 2018-02-08 19:28:51 +00:00
vm_machdep.c amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval 2018-10-13 21:18:31 +00:00
xen-locore.S xen: implement early init helper for PVHv2 2018-07-19 08:44:52 +00:00