[coreboot] r88 - trunk/filo/drivers

svn at coreboot.org svn at coreboot.org
Thu Mar 12 18:01:54 CET 2009


Author: oxygene
Date: 2009-03-12 18:01:54 +0100 (Thu, 12 Mar 2009)
New Revision: 88

Modified:
   trunk/filo/drivers/ide_new.c
Log:
Handle 2048 byte sectors somewhat. It assumes that the filesystem
also uses 2048 byte sectors and recalculates sector numbers based
on 512b sectors (ie. sector number * 4).
Prints a warning if assumption is wrong


Modified: trunk/filo/drivers/ide_new.c
===================================================================
--- trunk/filo/drivers/ide_new.c	2009-03-12 17:00:30 UTC (rev 87)
+++ trunk/filo/drivers/ide_new.c	2009-03-12 17:01:54 UTC (rev 88)
@@ -681,6 +681,14 @@
 	if (ob_ide_atapi_drive_ready(drive))
 		return 1;
 
+	if (drive->bs == 2048) {
+		if ((block & 3 != 0) || (sectors & 3 != 0)) {
+			printf("ob_ide_read_atapi: unaligned atapi access: %x blocks, starting from %x\n", sectors, block);
+		}
+		block >>= 2;
+		sectors >>= 2;
+	}
+
 	memset(cmd, 0, sizeof(*cmd));
 
 	/*





More information about the coreboot mailing list