qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] target/riscv: Smepmp: Return error when access permission not allowed in PMP
@ 2023-06-05  7:51 Himanshu Chauhan
  2023-06-05  9:16 ` Weiwei Li
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Himanshu Chauhan @ 2023-06-05  7:51 UTC (permalink / raw)
  To: qemu-riscv, qemu-devel; +Cc: Himanshu Chauhan

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



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-06-12  3:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-05  7:51 [PATCH] target/riscv: Smepmp: Return error when access permission not allowed in PMP Himanshu Chauhan
2023-06-05  9:16 ` Weiwei Li
2023-06-05 11:49 ` [PATCH v2] " Himanshu Chauhan
2023-06-05 12:17   ` Weiwei Li
2023-06-05 15:12 ` [PATCH] " Richard Henderson
2023-06-05 16:45 ` [PATCH v3] " Himanshu Chauhan
2023-06-06  1:01   ` Weiwei Li
2023-06-06 12:53   ` Daniel Henrique Barboza
2023-06-12  3:50   ` Alistair Francis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).