Commit 877fbae3 authored by Paul Mackerras's avatar Paul Mackerras
Browse files
parents f18fc729 7e990266
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -524,3 +524,20 @@ int check_legacy_ioport(unsigned long base_port)
	return ppc_md.check_legacy_ioport(base_port);
}
EXPORT_SYMBOL(check_legacy_ioport);

static int ppc_panic_event(struct notifier_block *this,
                             unsigned long event, void *ptr)
{
	ppc_md.panic(ptr);  /* May not return */
	return NOTIFY_DONE;
}

static struct notifier_block ppc_panic_block = {
	.notifier_call = ppc_panic_event,
	.priority = INT_MIN /* may not return; must be done last */
};

void __init setup_panic(void)
{
	atomic_notifier_chain_register(&panic_notifier_list, &ppc_panic_block);
}
+2 −0
Original line number Diff line number Diff line
@@ -2,5 +2,7 @@
#define _POWERPC_KERNEL_SETUP_H

void check_for_initrd(void);
void do_init_bootmem(void);
void setup_panic(void);

#endif /* _POWERPC_KERNEL_SETUP_H */
+3 −2
Original line number Diff line number Diff line
@@ -235,8 +235,6 @@ arch_initcall(ppc_init);
/* Warning, IO base is not yet inited */
void __init setup_arch(char **cmdline_p)
{
	extern void do_init_bootmem(void);

	/* so udelay does something sensible, assume <= 1000 bogomips */
	loops_per_jiffy = 500000000 / HZ;

@@ -285,6 +283,9 @@ void __init setup_arch(char **cmdline_p)
	/* reboot on panic */
	panic_timeout = 180;

	if (ppc_md.panic)
		setup_panic();

	init_mm.start_code = PAGE_OFFSET;
	init_mm.end_code = (unsigned long) _etext;
	init_mm.end_data = (unsigned long) _edata;
+1 −17
Original line number Diff line number Diff line
@@ -100,12 +100,6 @@ unsigned long SYSRQ_KEY;
#endif /* CONFIG_MAGIC_SYSRQ */


static int ppc64_panic_event(struct notifier_block *, unsigned long, void *);
static struct notifier_block ppc64_panic_block = {
	.notifier_call = ppc64_panic_event,
	.priority = INT_MIN /* may not return; must be done last */
};

#ifdef CONFIG_SMP

static int smt_enabled_cmdline;
@@ -456,13 +450,6 @@ void __init setup_system(void)
	DBG(" <- setup_system()\n");
}

static int ppc64_panic_event(struct notifier_block *this,
                             unsigned long event, void *ptr)
{
	ppc_md.panic((char *)ptr);  /* May not return */
	return NOTIFY_DONE;
}

#ifdef CONFIG_IRQSTACKS
static void __init irqstack_early_init(void)
{
@@ -517,8 +504,6 @@ static void __init emergency_stack_init(void)
 */
void __init setup_arch(char **cmdline_p)
{
	extern void do_init_bootmem(void);

	ppc64_boot_msg(0x12, "Setup Arch");

	*cmdline_p = cmd_line;
@@ -535,8 +520,7 @@ void __init setup_arch(char **cmdline_p)
	panic_timeout = 180;

	if (ppc_md.panic)
		atomic_notifier_chain_register(&panic_notifier_list,
				&ppc64_panic_block);
		setup_panic();

	init_mm.start_code = PAGE_OFFSET;
	init_mm.end_code = (unsigned long) _etext;