Message ID | 1491486340-25988-1-git-send-email-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
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 > >
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.
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(+) -- 2.7.4