[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] target/riscv: Smepmp: Return error when access permission not al
From: |
Himanshu Chauhan |
Subject: |
[PATCH] target/riscv: Smepmp: Return error when access permission not allowed in PMP |
Date: |
Mon, 5 Jun 2023 13:21:50 +0530 |
On an address match, skip checking for default permissions and return error
based on access defined in PMP configuration.
Fixes: 90b1fafce06 ("target/riscv: Smepmp: Skip applying default rules when
address matches")
Signed-off-by: Himanshu Chauhan <hchauhan@ventanamicro.com>
---
target/riscv/pmp.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c
index 418738afd8..6238528282 100644
--- a/target/riscv/pmp.c
+++ b/target/riscv/pmp.c
@@ -435,8 +435,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong
addr,
* defined with PMP must be used. We shouldn't fallback on
* finding default privileges.
*/
- ret = true;
- break;
+ ret = ((privs & *allowed_privs) == privs ? true : false);
+ goto _address_matched;
}
}
@@ -445,6 +445,7 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong
addr,
ret = pmp_hart_has_privs_default(env, privs, allowed_privs, mode);
}
+ _address_matched:
return ret;
}
--
2.34.1
- [PATCH] target/riscv: Smepmp: Return error when access permission not allowed in PMP,
Himanshu Chauhan <=