Commit f0514ae323f19ba1ad4bea4174ea274c812f7eee

Authored by James Bottomley
Committed by Kyle McMartin
1 parent 0be7d1fe43

parisc: initialize unwinder much earlier

The unwinder was being initialized way too late to be any use
debugging early boot crashes. Instead of relying on module_init
initcalls to initialize it, let's do it explicitly as early as
we can.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>

Showing 3 changed files with 5 additions and 3 deletions Side-by-side Diff

arch/parisc/include/asm/unwind.h
... ... @@ -74,5 +74,7 @@
74 74 int unwind_once(struct unwind_frame_info *info);
75 75 int unwind_to_user(struct unwind_frame_info *info);
76 76  
  77 +int unwind_init(void);
  78 +
77 79 #endif
arch/parisc/kernel/setup.c
... ... @@ -44,6 +44,7 @@
44 44 #include <asm/pdc_chassis.h>
45 45 #include <asm/io.h>
46 46 #include <asm/setup.h>
  47 +#include <asm/unwind.h>
47 48  
48 49 static char __initdata command_line[COMMAND_LINE_SIZE];
49 50  
... ... @@ -123,6 +124,7 @@
123 124 #ifdef CONFIG_64BIT
124 125 extern int parisc_narrow_firmware;
125 126 #endif
  127 + unwind_init();
126 128  
127 129 init_per_cpu(smp_processor_id()); /* Set Modes & Enable FP */
128 130  
arch/parisc/kernel/unwind.c
... ... @@ -170,7 +170,7 @@
170 170 }
171 171  
172 172 /* Called from setup_arch to import the kernel unwind info */
173   -static int unwind_init(void)
  173 +int unwind_init(void)
174 174 {
175 175 long start, stop;
176 176 register unsigned long gp __asm__ ("r27");
... ... @@ -417,6 +417,4 @@
417 417  
418 418 return ret;
419 419 }
420   -
421   -module_init(unwind_init);