Hello,

Following patch fixes the boot_switch_sata_ide logic. It can swap primary / secondary IDE channel with SATA (in IDE mode).

The bug was that setup was done in wrong device.

Signed-off-by: Rudolf Marek <[email protected]>

Thanks,
Rudolf
Index: sb700_ide.c
===================================================================
--- sb700_ide.c	(revision 5917)
+++ sb700_ide.c	(working copy)
@@ -52,10 +53,13 @@
 
 	/* set ide as primary, if you want to boot from IDE, you'd better set it
 	 * in $vendor/$mainboard/devicetree.cb */
+	 
+	
 	if (conf->boot_switch_sata_ide == 1) {
-		byte = pci_read_config8(dev, 0xAD);
+		struct device *sm_dev = dev_find_slot(0, PCI_DEVFN(0x14, 0));
+		byte = pci_read_config8(sm_dev, 0xAD);
 		byte |= 1 << 4;
-		pci_write_config8(dev, 0xAD, byte);
+		pci_write_config8(sm_dev, 0xAD, byte);
 	}
 
 #if CONFIG_PCI_ROM_RUN == 1
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to