diff mbox

target/arm: Add missing entries to excnames[] for log strings

Message ID 1491486340-25988-1-git-send-email-peter.maydell@linaro.org
State Superseded
Headers show

Commit Message

Peter Maydell April 6, 2017, 1:45 p.m. UTC
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

Comments

Philippe Mathieu-Daudé April 6, 2017, 4:34 p.m. UTC | #1
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.

>
Peter Maydell April 6, 2017, 4:39 p.m. UTC | #2
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
Edgar E. Iglesias April 10, 2017, 8:45 a.m. UTC | #3
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 mbox

Patch

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.