Hey Pierre!
On Wed, Apr 12, 2023 at 09:18:05AM +0200, Pierre Gondois wrote:
If a Device Tree (DT) is used, the presence of cache properties is
assumed. Not finding any is not considered. For arm64 platforms,
cache information can be fetched from the clidr_el1 register.
Checking whether cache information is available in the DT
allows to switch to using clidr_el1.
init_of_cache_level()
\-of_count_cache_leaves()
will assume there a 2 cache leaves (L1 data/instruction caches), which
can be different from clidr_el1 information.
cache_setup_of_node() tries to read cache properties in the DT.
If there are none, this is considered a success. Knowing no
information was available would allow to switch to using clidr_el1.
Hmm, w/ this series I am still seeing a:
[ 0.306736] Early cacheinfo failed, ret = -22
Not finding any cacheinfo is totally valid, right?
A basic RISC-V QEMU setup is sufficient to reproduce, for instance:
| $(qemu) \
| -m 2G -smp 5 \
| -M virt -nographic \
| -kernel $(vmlinux_bin)
Cheers,
Conor.