From bffb0076efef9f8f2dfc6d3f51b78281fd81c603 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 12 Aug 2008 02:03:49 -0700 Subject: [PATCH] --- yaml --- r: 108351 b: refs/heads/master c: c7498081a6f5d96c9f3243b6b5e020352903bfd2 h: refs/heads/master i: 108349: 916abf41ed4383014508b247ea3b972a319604e9 108347: ae6e213a5a97fdd96c27d16212bcbca49b85aba7 108343: 47ca4e5cae95a02b07b53873fa75a56da028eba5 108335: 9b967bae33c4b8e6f8903b38006fa64e52ae9f3c 108319: 2c3fe607e28184775154b0b3e5403bc8f0016bcc 108287: 047cb3e24a3b7107a66dd18aa49c26e5128996f6 v: v3 --- [refs] | 2 +- trunk/arch/sparc64/lib/mcount.S | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 8126a37cb644..2c6aca63ee83 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c6ed413ddcfb66e9d3e1318060271391c7659dd3 +refs/heads/master: c7498081a6f5d96c9f3243b6b5e020352903bfd2 diff --git a/trunk/arch/sparc64/lib/mcount.S b/trunk/arch/sparc64/lib/mcount.S index 7735a7a60533..734caf0cec09 100644 --- a/trunk/arch/sparc64/lib/mcount.S +++ b/trunk/arch/sparc64/lib/mcount.S @@ -48,12 +48,23 @@ mcount: sub %g3, STACK_BIAS, %g3 cmp %sp, %g3 bg,pt %xcc, 1f - sethi %hi(panicstring), %g3 + nop + /* If we are already on ovstack, don't hop onto it + * again, we are already trying to output the stack overflow + * message. + */ sethi %hi(ovstack), %g7 ! cant move to panic stack fast enough or %g7, %lo(ovstack), %g7 - add %g7, OVSTACKSIZE, %g7 + add %g7, OVSTACKSIZE, %g3 + sub %g3, STACK_BIAS + 192, %g3 sub %g7, STACK_BIAS, %g7 - mov %g7, %sp + cmp %sp, %g7 + blu,pn %xcc, 2f + cmp %sp, %g3 + bleu,pn %xcc, 1f + nop +2: mov %g3, %sp + sethi %hi(panicstring), %g3 call prom_printf or %g3, %lo(panicstring), %o0 call prom_halt