OSDN Git Service

target/riscv: Fix bug in getting trap cause name for trace_riscv_trap
authorYifei Jiang <jiangyifei@huawei.com>
Fri, 14 Aug 2020 03:58:19 +0000 (11:58 +0800)
committerAlistair Francis <alistair.francis@wdc.com>
Wed, 9 Sep 2020 22:54:18 +0000 (15:54 -0700)
commitc51a3f5d155b66b190192fcba49c52eb30c9eaab
tree1cb3246d46065e00d1c78ae58a1be1a28609cec9
parent9435a8b3dd35f1f926f1b9127e8a906217a5518a
target/riscv: Fix bug in getting trap cause name for trace_riscv_trap

When the cause number is equal to or greater than 23, print "(unknown)" in
trace_riscv_trap. The max valid number of riscv_excp_names is 23, so the last
excpetion "guest_store_page_fault" can not be printed.

In addition, the current check of cause is invalid for riscv_intr_names. So
introduce riscv_cpu_get_trap_name to get the trap cause name.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Yipeng Yin <yinyipeng1@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20200814035819.1214-1-jiangyifei@huawei.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/cpu.c
target/riscv/cpu.h
target/riscv/cpu_helper.c