aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2005-11-15 02:21:45 -0500
committerPaul Mackerras <paulus@samba.org>2005-11-15 21:51:58 -0500
commitde93f0d62ccaa730fd46de14d46c0317bd82596a (patch)
tree38184c1a318f111abd0f20c541ea2e1b69da0b41
parentc0ce5c5228dd17d4e3dd1d15b8d52714262cab70 (diff)
[PATCH] ppc: Fix boot with yaboot with ARCH=ppc
The merge of machine types broke boot with yaboot & ARCH=ppc due to the old code still retreiving the old-syle machine type passed in by yaboot. This patch fixes it by translating those old numbers. Since that whole mecanism is deprecated, this is a temporary fix until ARCH=ppc uses the new prom_init that the merged architecture now uses for both ppc32 and ppc64 (after 2.6.15) Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r--arch/ppc/kernel/setup.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c
index dc55e1abc45b..0eb0b7085e6a 100644
--- a/arch/ppc/kernel/setup.c
+++ b/arch/ppc/kernel/setup.c
@@ -602,7 +602,19 @@ void parse_bootinfo(struct bi_record *rec)
602#endif /* CONFIG_BLK_DEV_INITRD */ 602#endif /* CONFIG_BLK_DEV_INITRD */
603#ifdef CONFIG_PPC_MULTIPLATFORM 603#ifdef CONFIG_PPC_MULTIPLATFORM
604 case BI_MACHTYPE: 604 case BI_MACHTYPE:
605 _machine = data[0]; 605 /* Machine types changed with the merge. Since the
606 * bootinfo are now deprecated, we can just hard code
607 * the appropriate conversion here for when we are
608 * called with yaboot which passes us a machine type
609 * this way.
610 */
611 switch(data[0]) {
612 case 1: _machine = _MACH_prep; break;
613 case 2: _machine = _MACH_Pmac; break;
614 case 4: _machine = _MACH_chrp; break;
615 default:
616 _machine = data[0];
617 }
606 break; 618 break;
607#endif 619#endif
608 case BI_MEMSIZE: 620 case BI_MEMSIZE: