qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1 1/1] target/riscv/pmp: Add assert for ePMP operations


From: LIU Zhiwei
Subject: Re: [PATCH v1 1/1] target/riscv/pmp: Add assert for ePMP operations
Date: Fri, 21 May 2021 10:30:52 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1

Reviewed-by: LIU Zhiwei <zhiwei_liu@c-sky.com>

On 5/21/21 6:55 AM, Alistair Francis wrote:
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>
---
  target/riscv/pmp.c | 4 ++++
  1 file changed, 4 insertions(+)

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();
                      }
                  }
              }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]