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 - 2024 Red Hat, Inc.