[PATCH v3 0/3] RISC-V: Ensure Zicbom has a valid block size
Andrew Jones
ajones at ventanamicro.com
Tue Nov 29 06:34:44 PST 2022
When a DT puts zicbom in the isa string, but does not provide a block
size, ALT_CMO_OP() will attempt to do cache operations on address
zero since the start address will be ANDed with zero. We can't simply
BUG() in riscv_init_cbom_blocksize() when we fail to find a block
size because the failure will happen before logging works, leaving
users to scratch their heads as to why the boot hung. Instead, ensure
Zicbom is disabled and output an error which will hopefully alert
people that the DT needs to be fixed. While at it, add a check that
the block size is a power-of-2 too.
The first patch of the series is a cleanup of code that crossed the
path of this work. The second patch prepares for isa ext. checking
and the third finally does what this cover letter says.
Thanks,
drew
v3:
- Mostly just a friendly ping, but also rebased and picked up r-b's
v2:
- Unconditionally complain when we detect a problem with DT's
cbom-block-size
- A couple r-b's from Conor
Andrew Jones (3):
RISC-V: Improve use of isa2hwcap[]
RISC-V: Introduce riscv_isa_extension_check
RISC-V: Ensure Zicbom has a valid block size
arch/riscv/kernel/cpufeature.c | 43 ++++++++++++++++++++++++++--------
1 file changed, 33 insertions(+), 10 deletions(-)
--
2.38.1
More information about the linux-riscv
mailing list