diff options
author | Paul Mackerras <paulus@samba.org> | 2005-09-28 06:28:14 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-09-28 06:28:14 -0400 |
commit | 20c8c2106305729e7d5e06f6c3d390e965a3dd34 (patch) | |
tree | 23ae68e9ed3c7bdb1fccb19a761904a67c671f57 /arch/powerpc/platforms | |
parent | a3a9e99e36b2897b3e038869e61f363d62434086 (diff) |
powerpc: Fixes to get the merged kernel to boot on powermac.
This merges ppc_ksyms.c, puts back the actual do_execve call in
sys_execve, makes init_MMU call find_end_of_memory rather than
ppc_md.find_end_of_memory (every platform has a device tree
with a /memory node now, right?) and fixes some problems with the
mpic initialization on newworld powermacs.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/powermac/pmac_pic.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/powermac/pmac_pic.c b/arch/powerpc/platforms/powermac/pmac_pic.c index bf3e1899a4cc..a6b1b577e19f 100644 --- a/arch/powerpc/platforms/powermac/pmac_pic.c +++ b/arch/powerpc/platforms/powermac/pmac_pic.c | |||
@@ -424,6 +424,8 @@ void __init pmac_pic_init(void) | |||
424 | 424 | ||
425 | printk(KERN_INFO "PowerMac using OpenPIC irq controller at 0x%08x\n", | 425 | printk(KERN_INFO "PowerMac using OpenPIC irq controller at 0x%08x\n", |
426 | (unsigned int)irqctrler->addrs[0].address); | 426 | (unsigned int)irqctrler->addrs[0].address); |
427 | ppc_md.get_irq = mpic_get_irq; | ||
428 | pmac_call_feature(PMAC_FTR_ENABLE_MPIC, irqctrler, 0, 0); | ||
427 | 429 | ||
428 | prom_get_irq_senses(senses, 0, 128); | 430 | prom_get_irq_senses(senses, 0, 128); |
429 | mpic1 = mpic_alloc(irqctrler->addrs[0].address, | 431 | mpic1 = mpic_alloc(irqctrler->addrs[0].address, |
@@ -452,7 +454,22 @@ void __init pmac_pic_init(void) | |||
452 | mpic_setup_cascade(irqctrler2->intrs[0].line, | 454 | mpic_setup_cascade(irqctrler2->intrs[0].line, |
453 | pmac_u3_cascade, mpic2); | 455 | pmac_u3_cascade, mpic2); |
454 | } | 456 | } |
457 | #ifdef CONFIG_XMON | ||
458 | { | ||
459 | struct device_node* pswitch; | ||
460 | int nmi_irq; | ||
461 | |||
462 | pswitch = find_devices("programmer-switch"); | ||
463 | if (pswitch && pswitch->n_intrs) { | ||
464 | nmi_irq = pswitch->intrs[0].line; | ||
465 | openpic_init_nmi_irq(nmi_irq); | ||
466 | setup_irq(nmi_irq, &xmon_action); | ||
467 | } | ||
468 | } | ||
469 | #endif /* CONFIG_XMON */ | ||
470 | return; | ||
455 | } | 471 | } |
472 | irqctrler = NULL; | ||
456 | 473 | ||
457 | /* Get the level/edge settings, assume if it's not | 474 | /* Get the level/edge settings, assume if it's not |
458 | * a Grand Central nor an OHare, then it's an Heathrow | 475 | * a Grand Central nor an OHare, then it's an Heathrow |