summaryrefslogtreecommitdiff
path: root/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c')
-rw-r--r--cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c155
1 files changed, 90 insertions, 65 deletions
diff --git a/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c b/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c
index c5b477c72f..e0fbab68dc 100644
--- a/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c
+++ b/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c
@@ -44,37 +44,37 @@
#include <inttypes.h>
+#include <rtems/bspIo.h>
#include <rtems/score/cpu.h>
#include <rtems/score/io.h>
-#include <rtems/bspIo.h>
typedef struct {
- char *s;
- size_t n;
+ char *s;
+ size_t n;
} String_Context;
-static void _CPU_Put_char( int c, void *arg )
+static void _CPU_Put_char(int c, void *arg)
{
String_Context *sctx = arg;
- size_t n = sctx->n;
+ size_t n = sctx->n;
- if (n > 0) {
+ if ( n > 0 ) {
char *s = sctx->s;
- *s = (char) c;
+ *s = (char) c;
sctx->s = s + 1;
sctx->n = n - 1;
}
}
static void _CPU_Binary_sprintf(
- char *s,
- size_t maxlen,
+ char *s,
+ size_t maxlen,
uint32_t num_bits,
uint32_t value
)
{
String_Context sctx;
- uint32_t mask;
+ uint32_t mask;
sctx.s = s;
sctx.n = maxlen;
@@ -82,14 +82,14 @@ static void _CPU_Binary_sprintf(
mask = 1 << (num_bits - 1);
while ( mask != 0 ) {
- _IO_Printf( _CPU_Put_char, &sctx, "%d", (value & mask ? 1 : 0) );
+ _IO_Printf(_CPU_Put_char, &sctx, "%d", (value & mask ? 1 : 0));
mask >>= 1;
}
s[num_bits] = '\0';
}
-static const char* _CPU_Exception_class_to_string( uint16_t exception_class )
+static const char *_CPU_Exception_class_to_string(uint16_t exception_class)
{
/* The 80 character limit is intentionally ignored for these strings. */
switch ( exception_class ) {
@@ -142,82 +142,107 @@ static const char* _CPU_Exception_class_to_string( uint16_t exception_class )
}
}
-void _CPU_Exception_frame_print( const CPU_Exception_frame *frame )
+void _CPU_Exception_frame_print(const CPU_Exception_frame *frame)
{
- uint32_t ec;
- uint32_t il;
- uint32_t iss;
- char ec_str[7];
- char iss_str[26];
- int i;
+ uint32_t ec;
+ uint32_t il;
+ uint32_t iss;
+ char ec_str[7];
+ char iss_str[26];
+ int i;
const uint128_t *qx;
printk(
"\n"
- "X0 = 0x%016" PRIx64 " X17 = 0x%016" PRIx64 "\n"
- "X1 = 0x%016" PRIx64 " X18 = 0x%016" PRIx64 "\n"
- "X2 = 0x%016" PRIx64 " X19 = 0x%016" PRIx64 "\n"
- "X3 = 0x%016" PRIx64 " X20 = 0x%016" PRIx64 "\n"
- "X4 = 0x%016" PRIx64 " X21 = 0x%016" PRIx64 "\n"
- "X5 = 0x%016" PRIx64 " X22 = 0x%016" PRIx64 "\n"
- "X6 = 0x%016" PRIx64 " X23 = 0x%016" PRIx64 "\n"
- "X7 = 0x%016" PRIx64 " X24 = 0x%016" PRIx64 "\n"
- "X8 = 0x%016" PRIx64 " X25 = 0x%016" PRIx64 "\n"
- "X9 = 0x%016" PRIx64 " X26 = 0x%016" PRIx64 "\n"
- "X10 = 0x%016" PRIx64 " X27 = 0x%016" PRIx64 "\n"
- "X11 = 0x%016" PRIx64 " X28 = 0x%016" PRIx64 "\n"
- "X12 = 0x%016" PRIx64 " FP = 0x%016" PRIx64 "\n"
- "X13 = 0x%016" PRIx64 " LR = 0x%016" PRIxPTR "\n"
- "X14 = 0x%016" PRIx64 " SP = 0x%016" PRIxPTR "\n"
- "X15 = 0x%016" PRIx64 " PC = 0x%016" PRIxPTR "\n"
- "X16 = 0x%016" PRIx64 " DAIF = 0x%016" PRIx64 "\n"
+ "X0 = 0x%016" PRIx64 " X17 = 0x%016" PRIx64 "\n"
+ "X1 = 0x%016" PRIx64 " X18 = 0x%016" PRIx64 "\n"
+ "X2 = 0x%016" PRIx64 " X19 = 0x%016" PRIx64 "\n"
+ "X3 = 0x%016" PRIx64 " X20 = 0x%016" PRIx64 "\n"
+ "X4 = 0x%016" PRIx64 " X21 = 0x%016" PRIx64 "\n"
+ "X5 = 0x%016" PRIx64 " X22 = 0x%016" PRIx64 "\n"
+ "X6 = 0x%016" PRIx64 " X23 = 0x%016" PRIx64 "\n"
+ "X7 = 0x%016" PRIx64 " X24 = 0x%016" PRIx64 "\n"
+ "X8 = 0x%016" PRIx64 " X25 = 0x%016" PRIx64 "\n"
+ "X9 = 0x%016" PRIx64 " X26 = 0x%016" PRIx64 "\n"
+ "X10 = 0x%016" PRIx64 " X27 = 0x%016" PRIx64 "\n"
+ "X11 = 0x%016" PRIx64 " X28 = 0x%016" PRIx64 "\n"
+ "X12 = 0x%016" PRIx64 " FP = 0x%016" PRIx64 "\n"
+ "X13 = 0x%016" PRIx64 " LR = 0x%016" PRIxPTR "\n"
+ "X14 = 0x%016" PRIx64 " SP = 0x%016" PRIxPTR "\n"
+ "X15 = 0x%016" PRIx64 " PC = 0x%016" PRIxPTR "\n"
+ "X16 = 0x%016" PRIx64 " DAIF = 0x%016" PRIx64 "\n"
"VEC = 0x%016" PRIxPTR " CPSR = 0x%016" PRIx64 "\n",
- frame->register_x0, frame->register_x17,
- frame->register_x1, frame->register_x18,
- frame->register_x2, frame->register_x19,
- frame->register_x3, frame->register_x20,
- frame->register_x4, frame->register_x21,
- frame->register_x5, frame->register_x22,
- frame->register_x6, frame->register_x23,
- frame->register_x7, frame->register_x24,
- frame->register_x8, frame->register_x25,
- frame->register_x9, frame->register_x26,
- frame->register_x10, frame->register_x27,
- frame->register_x11, frame->register_x28,
- frame->register_x12, frame->register_fp,
- frame->register_x13, (intptr_t) frame->register_lr,
- frame->register_x14, (intptr_t) frame->register_sp,
- frame->register_x15, (intptr_t) frame->register_pc,
- frame->register_x16, frame->register_daif,
- (intptr_t) frame->vector, frame->register_cpsr
+ frame->register_x0,
+ frame->register_x17,
+ frame->register_x1,
+ frame->register_x18,
+ frame->register_x2,
+ frame->register_x19,
+ frame->register_x3,
+ frame->register_x20,
+ frame->register_x4,
+ frame->register_x21,
+ frame->register_x5,
+ frame->register_x22,
+ frame->register_x6,
+ frame->register_x23,
+ frame->register_x7,
+ frame->register_x24,
+ frame->register_x8,
+ frame->register_x25,
+ frame->register_x9,
+ frame->register_x26,
+ frame->register_x10,
+ frame->register_x27,
+ frame->register_x11,
+ frame->register_x28,
+ frame->register_x12,
+ frame->register_fp,
+ frame->register_x13,
+ (intptr_t) frame->register_lr,
+ frame->register_x14,
+ (intptr_t) frame->register_sp,
+ frame->register_x15,
+ (intptr_t) frame->register_pc,
+ frame->register_x16,
+ frame->register_daif,
+ (intptr_t) frame->vector,
+ frame->register_cpsr
);
- ec = frame->register_syndrome >> 26 & 0x3f;
- il = frame->register_syndrome >> 25 & 0x1;
+ ec = frame->register_syndrome >> 26 & 0x3f;
+ il = frame->register_syndrome >> 25 & 0x1;
iss = frame->register_syndrome & 0x1ffffff;
- _CPU_Binary_sprintf( ec_str, sizeof( ec_str ), sizeof( ec_str ) - 1, ec );
- _CPU_Binary_sprintf( iss_str, sizeof( iss_str ), sizeof( iss_str ) - 1, iss );
+ _CPU_Binary_sprintf(ec_str, sizeof(ec_str), sizeof(ec_str) - 1, ec);
+ _CPU_Binary_sprintf(iss_str, sizeof(iss_str), sizeof(iss_str) - 1, iss);
printk(
- "ESR = EC: 0b%s" " IL: 0b%d" " ISS: 0b%s" "\n"
+ "ESR = EC: 0b%s"
+ " IL: 0b%d"
+ " ISS: 0b%s"
+ "\n"
" %s\n",
- ec_str, il, iss_str, _CPU_Exception_class_to_string( ec )
+ ec_str,
+ il,
+ iss_str,
+ _CPU_Exception_class_to_string(ec)
);
- printk( "FAR = 0x%016" PRIx64 "\n", frame->register_fault_address );
+ printk("FAR = 0x%016" PRIx64 "\n", frame->register_fault_address);
qx = &frame->register_q0;
printk(
"FPCR = 0x%016" PRIx64 " FPSR = 0x%016" PRIx64 "\n",
- frame->register_fpcr, frame->register_fpsr
+ frame->register_fpcr,
+ frame->register_fpsr
);
- for ( i = 0 ; i < 32 ; ++i ) {
- uint64_t low = (uint64_t) qx[i];
+ for ( i = 0; i < 32; ++i ) {
+ uint64_t low = (uint64_t) qx[i];
uint64_t high = (uint64_t) (qx[i] >> 64);
- printk( "Q%02i = 0x%016" PRIx64 "%016" PRIx64 "\n", i, high, low );
+ printk("Q%02i = 0x%016" PRIx64 "%016" PRIx64 "\n", i, high, low);
}
}