[PATCH 2/2] score/arm: print FPU registers also for VFP-D16 equipped CPUs

Karel Gardas karel at functional.vision
Thu Jul 6 19:24:01 UTC 2023


Sponsored-By:	Precidata
---
 cpukit/score/cpu/arm/arm-exception-frame-print.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/cpukit/score/cpu/arm/arm-exception-frame-print.c b/cpukit/score/cpu/arm/arm-exception-frame-print.c
index 32e9c723d9..4bef9a8866 100644
--- a/cpukit/score/cpu/arm/arm-exception-frame-print.c
+++ b/cpukit/score/cpu/arm/arm-exception-frame-print.c
@@ -48,7 +48,7 @@
 
 static void _ARM_VFP_context_print( const ARM_VFP_context *vfp_context )
 {
-#ifdef ARM_MULTILIB_VFP_D32
+#ifdef ARM_MULTILIB_VFP
   if ( vfp_context != NULL ) {
     const uint64_t *dx = &vfp_context->register_d0;
     int i;
@@ -59,7 +59,14 @@ static void _ARM_VFP_context_print( const ARM_VFP_context *vfp_context )
       vfp_context->register_fpscr
     );
 
-    for ( i = 0; i < 32; ++i ) {
+#if defined(ARM_MULTILIB_VFP_D32)
+    int regcount = 32;
+#elif defined(ARM_MULTILIB_VFP_D16)
+    int regcount = 16;
+#else
+    int regcount = 0;
+#endif
+    for ( i = 0; i < regcount; ++i ) {
       uint32_t low = (uint32_t) dx[i];
       uint32_t high = (uint32_t) (dx[i] >> 32);
 
-- 
2.25.1



More information about the devel mailing list