On Tue, Oct 31, 2023 at 05:39:05PM -0300, Daniel Henrique Barboza wrote: > zic64b is defined in the RVA22U64 profile [1] as a named feature for > "Cache blocks must be 64 bytes in size, naturally aligned in the address > space". It's a fantasy name for 64 bytes cache blocks. The RVA22U64 > profile mandates this feature, meaning that applications using this > profile expects 64 bytes cache blocks. > > To make the upcoming RVA22U64 implementation complete, we'll zic64b as > a 'named feature', not a regular extension. This means that: > > - it won't be exposed to users; > - it won't be written in riscv,isa. > > This will be extended to other named extensions in the future, so we're > creating some common boilerplate for them as well. > > zic64b is default to 'true' since we're already using 64 bytes blocks. > If any cache block size (cbo{m,p,z}_blocksize) is changed to something > different than 64, zic64b is set to 'false'. > > Our profile implementation will then be able to check the current state > of zic64b and take the appropriate action (e.g. throw a warning). > > [1] > https://github.com/riscv/riscv-profiles/releases/download/v1.0/profiles.pdf > > Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> > --- > target/riscv/cpu.c | 6 ++++++ > target/riscv/cpu.h | 1 + > target/riscv/cpu_cfg.h | 1 + > target/riscv/tcg/tcg-cpu.c | 14 ++++++++++++++ > 4 files changed, 22 insertions(+) >
Reviewed-by: Andrew Jones <ajo...@ventanamicro.com>