29 void dump_context(uint64_t *context)
34 static char *names[] = {
35 /* 0 */ "ip", "sp", "bsp", "cfm",
36 /* 4 */ "rp", "psp", "pfs", "preds",
37 /* 8 */ "priunat", "ar.bspstore", "ar.rnat", "ar.unat",
38 /* 12 */ "ar.fpsr", "ar.lc", "ar.pfs", "(pad)",
39 /* 16 */ "gr4", "gr5", "gr6", "gr7",
40 /* 20 */ "br1", "br2", "br3", "br4", "br5"
70 #define NCOL1 (sizeof(col1)/sizeof(int))
71 #define NCOL2 (sizeof(col2)/sizeof(int))
72 #define NPRINT (NCOL1 > NCOL2 ? NCOL1 : NCOL2)
74 valid = (unsigned int)(context[0] >> 32);
75 printf(" valid_regs (%08lx):", valid);
76 for (i = 0; i <= BR5; i++) {
77 if (valid & 1) printf(" %s", names[i]);
81 for (i = 0; i < NPRINT; i++) {
85 printf(" %-8s %08x %08x", names[j],
86 (unsigned int)(val >> 32),
94 printf(" %-8s %08x %08x", names[j],
95 (unsigned int)(val >> 32),