[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 4/6] target/riscv: change priv_ver check in validate_profile()
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH v4 4/6] target/riscv: change priv_ver check in validate_profile() |
Date: |
Wed, 15 Jan 2025 15:43:14 -0300 |
The S profiles do a priv_ver check during validation to see if the
running priv_ver is compatible with it. This check is done by comparing
if the running priv_ver is equal to the priv_ver the profile specifies.
There is an universe where we added RVA23S64 support based on both
RVA23U64 and RVA22S64 and this error is being thrown:
qemu-system-riscv64: warning: Profile rva22s64 requires
priv spec v1.12.0, but priv ver v1.13.0 was set
We're enabling RVA22S64 (priv_ver 1.12) as a dependency of RVA23S64
(priv_ver 1.13) and complaining to users about what we did ourselves.
There's no drawback in allowing a profile to run in an env that has a
priv_ver newer than it's required by it. So, like Hiro Nakamura saves
the future by changing the past, change the priv_ver check now to allow
profiles to run in a newer priv_ver. This universe will have one less
warning to deal with.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
---
target/riscv/tcg/tcg-cpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index c060b65fbc..de2a8c3f35 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -746,7 +746,7 @@ static void riscv_cpu_validate_profile(RISCVCPU *cpu,
#endif
if (profile->priv_spec != RISCV_PROFILE_ATTR_UNUSED &&
- profile->priv_spec != env->priv_ver) {
+ profile->priv_spec > env->priv_ver) {
profile_impl = false;
if (send_warn) {
--
2.47.1
- [PATCH v4 0/6] target/riscv: RVA23 profile support, Daniel Henrique Barboza, 2025/01/15
- [PATCH v4 1/6] target/riscv: add ssu64xl, Daniel Henrique Barboza, 2025/01/15
- [PATCH v4 2/6] target/riscv: use RVB in RVA22U64, Daniel Henrique Barboza, 2025/01/15
- [PATCH v4 3/6] target/riscv: add profile u_parent and s_parent, Daniel Henrique Barboza, 2025/01/15
- [PATCH v4 4/6] target/riscv: change priv_ver check in validate_profile(),
Daniel Henrique Barboza <=
- [PATCH v4 5/6] target/riscv: add RVA23U64 profile, Daniel Henrique Barboza, 2025/01/15
- [PATCH v4 6/6] target/riscv: add RVA23S64 profile, Daniel Henrique Barboza, 2025/01/15