[PATCH] ppc: Fix boot with yaboot with ARCH=ppc

STALE7639d

2 messages, 2 authors, 2005-11-15 · open the first message on its own page

[PATCH] ppc: Fix boot with yaboot with ARCH=ppc

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-11-15 07:21:56

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>

Index: linux-work/arch/ppc/kernel/setup.c
===================================================================
--- linux-work.orig/arch/ppc/kernel/setup.c	2005-11-15 18:15:23.000000000 +1100
+++ linux-work/arch/ppc/kernel/setup.c	2005-11-15 18:18:37.000000000 +1100
@@ -602,7 +602,19 @@
 #endif /* CONFIG_BLK_DEV_INITRD */
 #ifdef CONFIG_PPC_MULTIPLATFORM
 		case BI_MACHTYPE:
-			_machine = data[0];
+			/* Machine types changed with the merge. Since the
+			 * bootinfo are now deprecated, we can just hard code
+			 * the appropriate conversion here for when we are
+			 * called with yaboot which passes us a machine type
+			 * this way.
+			 */
+			switch(data[0]) {
+			case 1: _machine = _MACH_prep; break;
+			case 2: _machine = _MACH_Pmac; break;
+			case 4: _machine = _MACH_chrp; break;
+			default:
+				_machine = data[0];
+			}
 			break;
 #endif
 		case BI_MEMSIZE:

Re: [PATCH] ppc: Fix boot with yaboot with ARCH=ppc

From: Mikael Pettersson <hidden>
Date: 2005-11-15 12:34:06

Benjamin Herrenschmidt writes:
 > 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 [off-list ref]

This fixed my eMac, thanks.

Acked-by: Mikael Pettersson <redacted>

 > 
 > Index: linux-work/arch/ppc/kernel/setup.c
 > ===================================================================
 > --- linux-work.orig/arch/ppc/kernel/setup.c	2005-11-15 18:15:23.000000000 +1100
 > +++ linux-work/arch/ppc/kernel/setup.c	2005-11-15 18:18:37.000000000 +1100
 > @@ -602,7 +602,19 @@
 >  #endif /* CONFIG_BLK_DEV_INITRD */
 >  #ifdef CONFIG_PPC_MULTIPLATFORM
 >  		case BI_MACHTYPE:
 > -			_machine = data[0];
 > +			/* Machine types changed with the merge. Since the
 > +			 * bootinfo are now deprecated, we can just hard code
 > +			 * the appropriate conversion here for when we are
 > +			 * called with yaboot which passes us a machine type
 > +			 * this way.
 > +			 */
 > +			switch(data[0]) {
 > +			case 1: _machine = _MACH_prep; break;
 > +			case 2: _machine = _MACH_Pmac; break;
 > +			case 4: _machine = _MACH_chrp; break;
 > +			default:
 > +				_machine = data[0];
 > +			}
 >  			break;
 >  #endif
 >  		case BI_MEMSIZE:
 > 
 > 
 > -
 > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
 > the body of a message to majordomo@vger.kernel.org
 > More majordomo info at  http://vger.kernel.org/majordomo-info.html
 > Please read the FAQ at  http://www.tux.org/lkml/
 > 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help