The StarFive JH7100 SoC found on the BeagleV beta boards has most of
authorkettenis <kettenis@openbsd.org>
Wed, 5 May 2021 19:26:51 +0000 (19:26 +0000)
committerkettenis <kettenis@openbsd.org>
Wed, 5 May 2021 19:26:51 +0000 (19:26 +0000)
commit316cf7515abc4a78b41103f8b88945b4dbb3773c
treed9ce7755f856f44052b0f633f7685060386db145
parent8828c1b7c6b0fb2f84feb4c77ed07bb175fb69c5
The StarFive JH7100 SoC found on the BeagleV beta boards has most of
its peripherals hooked up through a bus that doesn't maintain cache
coherency.  So in order to use DMA we will need to flush the L2 caches
before/after a DMA tranfer.  Add a driver for the L2 cache controller
for these SoCs and infrastructure to do the necessary cache maintenance.
Since this particular L2 cache controller needs physical addresses, this
makes the bus_dma(4) code deviate from its arm64 counterpart.

ok drahn@
sys/arch/riscv64/conf/GENERIC
sys/arch/riscv64/conf/RAMDISK
sys/arch/riscv64/conf/files.riscv64
sys/arch/riscv64/dev/sfcc.c [new file with mode: 0644]
sys/arch/riscv64/include/cpufunc.h
sys/arch/riscv64/riscv64/bus_dma.c
sys/arch/riscv64/riscv64/cpu.c