On Mon, 6 Dec 1999, Richard Henderson wrote:
>On Mon, Dec 06, 1999 at 08:44:20PM +0100, Andrea Arcangeli wrote:
>> I get an halt after I enable the timer irq (incidentally ;). How can I
>> produce a stack trace hugh?
>
>Call die_if_kernel or one of its subroutines.
The point is that I get an halt before the console is intialized so my
only way to see a stack trace is to use this patch:
--- 2.3.30pre6/kernel/printk.c Tue Sep 14 14:35:58 1999
+++ /tmp/printk.c Tue Dec 7 00:12:58 1999
@@ -260,6 +260,9 @@
static signed char msg_level = -1;
long flags;
+ srm_printk(fmt);
+ return;
+
spin_lock_irqsave(&console_lock, flags);
va_start(args, fmt);
i = vsprintf(buf + 3, fmt, args); /* hopefully i < sizeof(buf)-4 */
But as I just said the srm_printk doesn't work and my SRM_printf hack that
recall by hand the aboot printf() breaks after paging is initialized
(after the ident mapping is been cleared).
So right now I put a asm("call_pal 0") and I see if the halt happens in my
address or in halt() (and I am rebooting a bit too often... ;).
The other way I tried is been to use `examine <address of printk buf>'
after the halt, but unfortunately the SRM examine function, as far I can
see only output in numerical form and I am too lazy to translate from
number to ascii all the boot stage.
>> The srm_printk doesn't work (strange).
>
>No, at present no SRM callbacks (however you get to them) will
>work after paging_init. There is a documented way using srm_fixup
>to relocate those routines so that they can continue to be used,
>but I couldn't seem to make it work.
Eh, unfortunately it doesn't work even before the paging_init(). While my
hack works fine (but only before paging_init of course ;).
So it seems I'll have to skip paging_init plus my ugly SRM_printf hack in
order to see a stack trace...
>See the console section of the Alpha Architecture Manual for
>details. I don't have it in front of me at the moment so I
>can't give you a proper section number.
Ok. I have it, thank you.
>I'll try to look at the patch this evening.
I hope you'll like it! It's work in progress of course so make sure to
change everything you think it's not good.
Thank you!
Andrea