HomeFreeBSD

riscv: add custom T-HEAD dcache ops

Description

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

Details

Provenance
mhorneAuthored on Thu, Nov 21, 6:11 PM
Parents
rG4ab2a84e0924: riscv: dcache flush hooks
Branches
Unknown
Tags
Unknown