Recent changes have added new EXCP_ values to ARM but forgot
to update the excnames[] array which is used to provide
human-readable strings when printing information about the
exception for debug logging. Add the missing entries, and
add a comment to the list of #defines to help avoid the mistake
being repeated in future.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
target/arm/cpu.h | 1 +
target/arm/internals.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/target/arm/cpu.h b/target/arm/cpu.h
index a8aabce..e6f05e2 100644
--- a/target/arm/cpu.h
+++ b/target/arm/cpu.h
@@ -58,6 +58,7 @@
#define EXCP_SEMIHOST 16 /* semihosting call */
#define EXCP_NOCP 17 /* v7M NOCP UsageFault */
#define EXCP_INVSTATE 18 /* v7M INVSTATE UsageFault */
+/* NB: new EXCP_ defines should be added to the excnames[] array too */
#define ARMV7M_EXCP_RESET 1
#define ARMV7M_EXCP_NMI 2
diff --git a/target/arm/internals.h b/target/arm/internals.h
index f742a41..97ca034 100644
--- a/target/arm/internals.h
+++ b/target/arm/internals.h
@@ -70,6 +70,8 @@ static const char * const excnames[] = {
[EXCP_VIRQ] = "Virtual IRQ",
[EXCP_VFIQ] = "Virtual FIQ",
[EXCP_SEMIHOST] = "Semihosting call",
+ [EXCP_NOCP] = "v7M NOCP UsageFault",
+ [EXCP_INVSTATE] = "v7M INVSTATE UsageFault",
};
/* Scale factor for generic timers, ie number of ns per tick.
--
2.7.4
Hi Peter,
excnames[] is only used in arm_log_exception(), can we move it there?
anyway:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
On 04/06/2017 10:45 AM, Peter Maydell wrote:
> Recent changes have added new EXCP_ values to ARM but forgot
> to update the excnames[] array which is used to provide
> human-readable strings when printing information about the
> exception for debug logging. Add the missing entries, and
> add a comment to the list of #defines to help avoid the mistake
> being repeated in future.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> target/arm/cpu.h | 1 +
> target/arm/internals.h | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/target/arm/cpu.h b/target/arm/cpu.h
> index a8aabce..e6f05e2 100644
> --- a/target/arm/cpu.h
> +++ b/target/arm/cpu.h
> @@ -58,6 +58,7 @@
> #define EXCP_SEMIHOST 16 /* semihosting call */
> #define EXCP_NOCP 17 /* v7M NOCP UsageFault */
> #define EXCP_INVSTATE 18 /* v7M INVSTATE UsageFault */
> +/* NB: new EXCP_ defines should be added to the excnames[] array too */
>
> #define ARMV7M_EXCP_RESET 1
> #define ARMV7M_EXCP_NMI 2
> diff --git a/target/arm/internals.h b/target/arm/internals.h
> index f742a41..97ca034 100644
> --- a/target/arm/internals.h
> +++ b/target/arm/internals.h
> @@ -70,6 +70,8 @@ static const char * const excnames[] = {
> [EXCP_VIRQ] = "Virtual IRQ",
> [EXCP_VFIQ] = "Virtual FIQ",
> [EXCP_SEMIHOST] = "Semihosting call",
> + [EXCP_NOCP] = "v7M NOCP UsageFault",
> + [EXCP_INVSTATE] = "v7M INVSTATE UsageFault",
> };
>
> /* Scale factor for generic timers, ie number of ns per tick.
>
On 6 April 2017 at 17:34, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > Hi Peter, > > excnames[] is only used in arm_log_exception(), can we move it there? Seems like a good idea. I think this is historic, we used to use it in separate functions in different files for the 32-bit and 64-bit exception entry code, but those got unified a little while back. I'll do that as a separate patch, though. thanks -- PMM
On Thu, Apr 06, 2017 at 02:45:40PM +0100, Peter Maydell wrote:
> Recent changes have added new EXCP_ values to ARM but forgot
> to update the excnames[] array which is used to provide
> human-readable strings when printing information about the
> exception for debug logging. Add the missing entries, and
> add a comment to the list of #defines to help avoid the mistake
> being repeated in future.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> ---
> target/arm/cpu.h | 1 +
> target/arm/internals.h | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/target/arm/cpu.h b/target/arm/cpu.h
> index a8aabce..e6f05e2 100644
> --- a/target/arm/cpu.h
> +++ b/target/arm/cpu.h
> @@ -58,6 +58,7 @@
> #define EXCP_SEMIHOST 16 /* semihosting call */
> #define EXCP_NOCP 17 /* v7M NOCP UsageFault */
> #define EXCP_INVSTATE 18 /* v7M INVSTATE UsageFault */
> +/* NB: new EXCP_ defines should be added to the excnames[] array too */
>
> #define ARMV7M_EXCP_RESET 1
> #define ARMV7M_EXCP_NMI 2
> diff --git a/target/arm/internals.h b/target/arm/internals.h
> index f742a41..97ca034 100644
> --- a/target/arm/internals.h
> +++ b/target/arm/internals.h
> @@ -70,6 +70,8 @@ static const char * const excnames[] = {
> [EXCP_VIRQ] = "Virtual IRQ",
> [EXCP_VFIQ] = "Virtual FIQ",
> [EXCP_SEMIHOST] = "Semihosting call",
> + [EXCP_NOCP] = "v7M NOCP UsageFault",
> + [EXCP_INVSTATE] = "v7M INVSTATE UsageFault",
> };
>
> /* Scale factor for generic timers, ie number of ns per tick.
> --
> 2.7.4
>
>
© 2016 - 2026 Red Hat, Inc.