diff mbox series

[PULL,02/26] target/ppc: Handle AIL=0 in ppc_excp_vector_offset

Message ID 20200108052312.238710-3-david@gibson.dropbear.id.au
State New, archived
Headers show
Series [PULL,01/26] target/ppc: Remove unused PPC_INPUT_INT defines | expand

Commit Message

David Gibson Jan. 8, 2020, 5:22 a.m. UTC
From: Fabiano Rosas <farosas@linux.ibm.com>

The exception vector offset calculation was moved into a function but
the case when AIL=0 was not checked.

The reason we got away with this is that the sole caller of
ppc_excp_vector_offset checks the AIL before calling the function:

    /* Handle AIL */
    if (ail) {
        vector |= ppc_excp_vector_offset(cs, ail);

Fixes: 2586a4d7a0 ("target/ppc: Move exception vector offset computation into a function")
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Message-Id: <20191217142512.574075-1-farosas@linux.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
 target/ppc/excp_helper.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series


diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
index 50b004d00d..5752ed4a4d 100644
--- a/target/ppc/excp_helper.c
+++ b/target/ppc/excp_helper.c
@@ -112,6 +112,8 @@  static uint64_t ppc_excp_vector_offset(CPUState *cs, int ail)
     uint64_t offset = 0;
     switch (ail) {
+    case AIL_NONE:
+        break;
     case AIL_0001_8000:
         offset = 0x18000;