Hi to all, I tried to modify ata.c simply add more ioaddress (I attach the diff file from 1.96 version), and it work and recognize my four sata disk on different pc. If I try to change sata port, the name of device on grub change because it depend by index of ioaddress in grub_ata_io_address array. There is some reason because ata.c currently report thar support "only two ide drives" ? the driver seems work well... I can read file for my partition, and then boot linux and even windows with chainloader. (i.e.: chailoader (ata4,1)+1 and boot)
and forgive me if I write something of stupid... bye Marco --- ata.c 2008-05-03 19:30:37.000000000 +0200 +++ ata.c~ 2008-05-03 18:06:15.000000000 +0200 @@ -32,11 +32,9 @@ GRUB_ATA_LBA48 } grub_ata_addressing_t; - -/* try address of commons sata controller */ -static const int grub_ata_ioaddress[] = {0x1f0, 0x170 ,0x9800,0x9000,0x8800,0x18f8,0x18f0}; -static const int grub_ata_ioaddress2[] = {0x3f6, 0x376,0x9402,0x8802,0x8402,0x18ce,0x18ca}; - +/* At the moment, only two IDE ports are supported. */ +static const int grub_ata_ioaddress[] = { 0x1f0, 0x170 }; +static const int grub_ata_ioaddress2[] = { 0x3f6, 0x376 }; #define GRUB_CDROM_SECTOR_SIZE 2048 @@ -338,7 +336,7 @@ int port; int device; - for (port = 0; port <= 6; port++) + for (port = 0; port <= 1; port++) { for (device = 0; device <= 1; device++) { _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel