[Crash-utility] [PATCH] s390: Add restart stack support

Dave Anderson anderson at redhat.com
Mon Aug 15 16:14:15 UTC 2011



----- 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 at linux.vnet.ibm.com>
> ---

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);




More information about the Crash-utility mailing list