* [PATCH] initialise the unwinder really early
@ 2008-09-04 16:34 James Bottomley
0 siblings, 0 replies; only message in thread
From: James Bottomley @ 2008-09-04 16:34 UTC (permalink / raw)
To: Parisc List
The stack traces from the recent boot panic showed that the unwinder
wasn't working correctly. Debugging by tausq revealed that it wasn't
set up yet, so fix this by calling it first from setup_arch().
James
---
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index 39e7c5a..0391631 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -44,6 +44,7 @@
#include <asm/pdc_chassis.h>
#include <asm/io.h>
#include <asm/setup.h>
+#include <asm/unwind.h>
static char __initdata command_line[COMMAND_LINE_SIZE];
@@ -123,6 +124,7 @@ void __init setup_arch(char **cmdline_p)
#ifdef CONFIG_64BIT
extern int parisc_narrow_firmware;
#endif
+ unwind_init();
init_per_cpu(smp_processor_id()); /* Set Modes & Enable FP */
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c
index 701b2d2..6773c58 100644
--- a/arch/parisc/kernel/unwind.c
+++ b/arch/parisc/kernel/unwind.c
@@ -170,7 +170,7 @@ void unwind_table_remove(struct unwind_table *table)
}
/* Called from setup_arch to import the kernel unwind info */
-static int unwind_init(void)
+int unwind_init(void)
{
long start, stop;
register unsigned long gp __asm__ ("r27");
@@ -417,5 +417,3 @@ int unwind_to_user(struct unwind_frame_info *info)
return ret;
}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2008-09-04 16:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-04 16:34 [PATCH] initialise the unwinder really early James Bottomley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox