----- Original Message ----- > Hi Dave, > > With Linux 3.0.1 on s390 we have a new kernel stack for the PSW restart > interrupt. See kernel git commit 7dd6b3343fdc190712d1620ee8848d25c4c77c33 > for details. With this patch the crash "bt" command will find this > stack. > > Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> > --- Queued for the next release (crash-5.1.8). Thanks, Dave > s390x.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > --- a/s390x.c > +++ b/s390x.c > @@ -825,9 +825,16 @@ static void get_int_stack(char *stack_na > unsigned long stack_addr; > > *start = *end = 0; > - if (!MEMBER_EXISTS("_lowcore", stack_name)) > - return; > - stack_addr = ULONG(lc + MEMBER_OFFSET("_lowcore", stack_name)); > + if (strcmp(stack_name, "restart_stack") == 0) { > + stack_addr = symbol_value("restart_stack"); > + if (!stack_addr) > + return; > + stack_addr = readmem_ul(stack_addr); > + } else { > + if (!MEMBER_EXISTS("_lowcore", stack_name)) > + return; > + stack_addr = ULONG(lc + MEMBER_OFFSET("_lowcore", stack_name)); > + } > if (stack_addr == 0) > return; > *start = stack_addr - INT_STACK_SIZE; > @@ -993,6 +1000,8 @@ static void s390x_back_trace_cmd(struct > } > s390x_print_lowcore(lowcore,bt,1); > fprintf(fp,"\n"); > + get_int_stack("restart_stack", lowcore, &low, &high); > + sp = show_trace(bt, cnt, sp, low, high); > get_int_stack("panic_stack", lowcore, &low, &high); > sp = show_trace(bt, cnt, sp, low, high); > get_int_stack("async_stack", lowcore, &low, &high); -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility