aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorAlistair Francis <alistair.francis@wdc.com>2021-05-21 06:55:53 +0800
committerAlistair Francis <alistair.francis@wdc.com>2021-06-08 09:59:43 +1000
commit787a4baf91fa2ff36b901c0b31ea73f3f0739415 (patch)
tree937b7755f585ce96628c361b8d54bf94a75156a4 /target
parenta722701dd364b82dc115e94a29d767949f796000 (diff)
target/riscv/pmp: Add assert for ePMP operations
Although we construct epmp_operation in such a way that it can only be between 0 and 15 Coverity complains that we don't handle the other possible cases. To fix Coverity and make it easier for humans to read add a default case to the switch statement that calls g_assert_not_reached(). Fixes: CID 1453108 Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: LIU Zhiwei <zhiwei_liu@c-sky.com> Message-id: ec5f225928eec448278c82fcb1f6805ee61dde82.1621550996.git.alistair.francis@wdc.com
Diffstat (limited to 'target')
-rw-r--r--target/riscv/pmp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c
index 78203291de..82ed020b10 100644
--- a/target/riscv/pmp.c
+++ b/target/riscv/pmp.c
@@ -402,6 +402,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr,
case 15:
*allowed_privs = PMP_READ;
break;
+ default:
+ g_assert_not_reached();
}
} else {
switch (epmp_operation) {
@@ -433,6 +435,8 @@ bool pmp_hart_has_privs(CPURISCVState *env, target_ulong addr,
case 7:
*allowed_privs = PMP_READ | PMP_WRITE | PMP_EXEC;
break;
+ default:
+ g_assert_not_reached();
}
}
}