patch-2.1.129 linux/arch/ppc/kernel/chrp_setup.c

Next file: linux/arch/ppc/kernel/feature.c
Previous file: linux/arch/ppc/kernel/apus_setup.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.128/linux/arch/ppc/kernel/chrp_setup.c linux/arch/ppc/kernel/chrp_setup.c
@@ -39,6 +39,7 @@
 #include <asm/ide.h>
 #include <asm/prom.h>
 #include <asm/gg2.h>
+#include <asm/pci-bridge.h>
 
 extern void hydra_init(void);
 extern void w83c553f_init(void);
@@ -191,7 +192,15 @@
 	
 	aux_device_present = 0xaa;
 
-	ROOT_DEV = to_kdev_t(0x0802); /* sda2 (sda1 is for the kernel) */
+#ifdef CONFIG_BLK_DEV_INITRD
+	/* this is fine for chrp */
+	initrd_below_start_ok = 1;
+	
+	if (initrd_start)
+		ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0);
+	else
+#endif
+		ROOT_DEV = to_kdev_t(0x0802); /* sda2 (sda1 is for the kernel) */
 	
 	printk("Boot arguments: %s\n", cmd_line);
 	
@@ -205,7 +214,6 @@
 	/* PCI bridge config space access area -
 	 * appears to be not in devtree on longtrail. */
 	ioremap(GG2_PCI_CONFIG_BASE, 0x80000);
-
 	/*
 	 *  Temporary fixes for PCI devices.
 	 *  -- Geert
@@ -217,10 +225,13 @@
 	 *  Fix the Super I/O configuration
 	 */
 	sio_init();
-
 #ifdef CONFIG_DUMMY_CONSOLE
 	conswitchp = &dummy_con;
 #endif
+	/* my starmax 6000 needs this but the longtrail shouldn't do it -- Cort */
+	if ( !strncmp("MOT", get_property(find_path_device("/"),
+					  "model", NULL),3) )
+		*memory_start_p = pmac_find_bridges(*memory_start_p, *memory_end_p);
 }
 
 #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov