Skip to content

Commit

Permalink
parisc: initialize unwinder much earlier
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
James Bottomley authored and Kyle McMartin committed Oct 10, 2008
1 parent 0be7d1f commit f0514ae
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 3 deletions.
2 changes: 2 additions & 0 deletions arch/parisc/include/asm/unwind.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,6 @@ void unwind_frame_init_running(struct unwind_frame_info *info, struct pt_regs *r
int unwind_once(struct unwind_frame_info *info);
int unwind_to_user(struct unwind_frame_info *info);

int unwind_init(void);

#endif
2 changes: 2 additions & 0 deletions arch/parisc/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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];

Expand Down Expand Up @@ -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 */

Expand Down
4 changes: 1 addition & 3 deletions arch/parisc/kernel/unwind.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down Expand Up @@ -417,5 +417,3 @@ int unwind_to_user(struct unwind_frame_info *info)

return ret;
}

module_init(unwind_init);

0 comments on commit f0514ae

Please sign in to comment.