diff options
author | Fabiano Rosas | 2019-12-17 15:25:12 +0100 |
---|---|---|
committer | David Gibson | 2020-01-08 01:01:59 +0100 |
commit | bc5fdfc0a1377418902e215f8d7be00e46b9ac9c (patch) | |
tree | 559b9560e6c4417acf4a9117d0dd1ab8b656f640 /target/ppc/excp_helper.c | |
parent | target/ppc: Remove unused PPC_INPUT_INT defines (diff) | |
download | qemu-bc5fdfc0a1377418902e215f8d7be00e46b9ac9c.tar.gz qemu-bc5fdfc0a1377418902e215f8d7be00e46b9ac9c.tar.xz qemu-bc5fdfc0a1377418902e215f8d7be00e46b9ac9c.zip |
target/ppc: Handle AIL=0 in ppc_excp_vector_offset
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>
Diffstat (limited to 'target/ppc/excp_helper.c')
-rw-r--r-- | target/ppc/excp_helper.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; break; |