freebsd-src/sys/conf
Mitchell Horne dfe57951f0 riscv: add custom T-HEAD dcache ops
This is the first major quirk we need to support in order to run on
current T-HEAD/XuanTie CPUs, e.g. the C906 or C910, found in several
existing RISC-V SBCs. With these custom dcache routines installed,
busdma can reliably communicate with devices which are not coherent
w.r.t. the CPU's data caches.

This patch introduces the first quirk/errata handling functions to
identcpu.c, and thus is forced to make some decisions about how this
code is structured. It will be amended with the changes that follow in
the series, yet I feel the final result is (unavoidably) somewhat
clumsy. I expect the CPU identification code will continue to evolve as
more CPUs and their quirks are eventually supported.

Discussed with:	jrtc27
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D47455
2024-11-25 17:08:04 -04:00
..
config.mk Retire non-NEW_PCIB code and remove config option 2024-07-18 18:55:12 +01:00
debuginfo.ldscript kernel: Add new dwarf symbols 2024-07-31 22:23:25 -06:00
dtb.build.mk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
dtb.mk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
files zfs: merge openzfs/zfs@1c9a4c8cb 2024-11-13 13:49:10 +01:00
files.amd64 ice_ddp: Update to 1.3.41.0 2024-10-28 15:55:25 -07:00
files.arm dtrace: Avoid including dtrace_isa.c directly into dtrace.c 2024-07-24 17:24:46 -04:00
files.arm64 ice_ddp: Update to 1.3.41.0 2024-10-28 15:55:25 -07:00
files.i386 files.x86: Pull in some more duplicate lines from files.{amd64,i386} 2024-04-12 14:35:45 -07:00
files.powerpc ice_ddp: Update to 1.3.41.0 2024-10-28 15:55:25 -07:00
files.riscv riscv: add custom T-HEAD dcache ops 2024-11-25 17:08:04 -04:00
files.x86 AMD IOMMU driver 2024-11-03 01:45:40 +02:00
kern.mk sys: move SAN and COVERAGE options handling to kern.mk 2024-11-12 19:04:13 +00:00
kern.opts.mk Revert "config.mk: Add MK_VIMAGE knob" 2024-04-25 22:43:36 +01:00
kern.post.mk sys: move SAN and COVERAGE options handling to kern.mk 2024-11-12 19:04:13 +00:00
kern.pre.mk conf: Fix KCSAN enablement checking 2024-11-17 16:40:33 +00:00
kmod_syms_prefix.awk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
kmod_syms.awk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
kmod.mk sys: move SAN and COVERAGE options handling to kern.mk 2024-11-12 19:04:13 +00:00
kmod.opts.mk sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
ldscript.amd64 kernel: Fix defining of .init_array and .fini_array sections 2024-09-02 12:26:47 +08:00
ldscript.arm arm: link all .rodata variants into one output section 2024-11-17 12:35:55 +01:00
ldscript.arm64 kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.i386 kernel: Fix defining of .init_array and .fini_array sections 2024-09-02 12:26:47 +08:00
ldscript.kmod.amd64 sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ldscript.kmod.i386 sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ldscript.powerpc kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.powerpc64 kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.powerpc64le kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.powerpcspe kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
ldscript.riscv kernel: Add defination of .init_array and .fini_array for all other platforms 2024-09-02 12:26:48 +08:00
Makefile.amd64 sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
Makefile.arm arm: remove accidentally added -Map switch to linker 2024-11-09 08:31:14 +01:00
Makefile.arm64 arm: Improve the creation of kernel.bin 2024-11-09 08:15:23 +01:00
Makefile.i386 sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
Makefile.powerpc sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
Makefile.riscv sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
newvers.sh kernel: Make some compile time constant variables const 2024-08-30 18:26:30 +08:00
NOTES Revert "LINT: Add mac_do" 2024-10-23 15:40:14 +08:00
options netinet: default mib counter probe points off 2024-11-20 09:52:48 +01:00
options.amd64 uart: Support EARLY_PRINTF on x86 for port-mapped COM ports 2023-10-20 16:07:24 -06:00
options.arm arm: prune imx5 support from the tree 2023-10-26 22:55:17 -05:00
options.arm64 Import the kernel parts of bhyve/arm64 2024-02-21 18:55:32 +00:00
options.i386 i386: Use DEV_HYPERV to enable HyperV APIC vector 2024-04-13 19:10:44 -07:00
options.powerpc sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
options.riscv riscv: Allwinner D1 clock and reset driver 2024-11-16 15:04:04 -04:00
std.debug netinet: default mib counter probe points off 2024-11-20 09:52:48 +01:00
std.nodebug netinet: default mib counter probe points off 2024-11-20 09:52:48 +01:00
sysent.mk Update mentions of makesyscalls.lua 2024-10-30 21:04:31 +00:00
systags.sh sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
vdso_amd64_ia32.ldscript spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
vdso_amd64.ldscript spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
WITHOUT_SOURCELESS sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
WITHOUT_SOURCELESS_HOST sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
WITHOUT_SOURCELESS_UCODE sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00