# HG changeset patch # User Rob Landley # Date 1400001081 18000 # Node ID e74afb9aac725cb75e556270e950eb5916a35653 # Parent d847359146c4265de67cc55c9816d3eefe08dce3 Drop the powerpc cdrom controller and linux-pmacorder patch. In QEMU 2.0 the power mac IDE controller can emulate more drives, so -hdc is on the same controller (PMAC) as -hda, so we don't need the CDROM controller, so we don't need to change the kernel probe order. diff -r d847359146c4 -r e74afb9aac72 sources/patches/linux-pmacorder.patch --- a/sources/patches/linux-pmacorder.patch Tue May 13 05:03:52 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -Work around a QEMU bug by reordering the drivers in the Linux kernel. - -See http://lists.gnu.org/archive/html/qemu-devel/2010-02/msg00892.html - -QEMU's -hda and -hdb options initialize drives on a power mac IDE controller, -and its -hdc and -hdd options initialize drives on a cmd646 controller. (They -do this because they expect hdc to be a CDROM and DMA for those doesn't -work right on the pmac controller, so they added a second controller.) - -A non-modular Linux kernel always initialies the cmd646 driver before the -pmac driver, and thus the disks on the cmd646 become /dev/hda and /dev/hdb, -and the pmac ones become /dev/hdc and /dev/hdd. Thus -hda initializes hdc, -and so on, working differently than every other qemu target and confusing our -generic boot script. - -The real fix is in QEMU (making their command line arguments match up -with what the Linux will name the drives), but they won't do it. The Linux -kernel's behavior hasn't changed in 10 years, but here's a patch to do -so, to work around the QEMU bug. - -diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile -index a04ee82..1fbfbe9 100644 ---- a/drivers/ide/Makefile -+++ b/drivers/ide/Makefile -@@ -39,6 +39,7 @@ obj-$(CONFIG_BLK_DEV_ALI15X3) += alim15x3.o - obj-$(CONFIG_BLK_DEV_AMD74XX) += amd74xx.o - obj-$(CONFIG_BLK_DEV_ATIIXP) += atiixp.o - obj-$(CONFIG_BLK_DEV_CELLEB) += scc_pata.o -+obj-$(CONFIG_BLK_DEV_IDE_PMAC) += pmac.o - obj-$(CONFIG_BLK_DEV_CMD64X) += cmd64x.o - obj-$(CONFIG_BLK_DEV_CS5520) += cs5520.o - obj-$(CONFIG_BLK_DEV_CS5530) += cs5530.o -@@ -76,8 +77,6 @@ obj-$(CONFIG_IDEPCI_PCIBUS_ORDER) += ide-scan-pci.o - - obj-$(CONFIG_BLK_DEV_CMD640) += cmd640.o - --obj-$(CONFIG_BLK_DEV_IDE_PMAC) += pmac.o -- - obj-$(CONFIG_IDE_GENERIC) += ide-generic.o - obj-$(CONFIG_BLK_DEV_IDEPNP) += ide-pnp.o - diff -r d847359146c4 -r e74afb9aac72 sources/targets/powerpc --- a/sources/targets/powerpc Tue May 13 05:03:52 2014 -0500 +++ b/sources/targets/powerpc Tue May 13 12:11:21 2014 -0500 @@ -32,7 +32,6 @@ CONFIG_PPC_OF_BOOT_TRAMPOLINE=y CONFIG_PPC601_SYNC_FIX=y CONFIG_PROC_DEVICETREE=y -CONFIG_BLK_DEV_CMD64X=y CONFIG_BLK_DEV_IDE_PMAC=y CONFIG_MACINTOSH_DRIVERS=y CONFIG_ADB=y