grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ata.c and sata disks


From: Vega
Subject: ata.c and sata disks
Date: Sat, 03 May 2008 19:35:25 +0200
User-agent: RoundCube Webmail/0.1

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++)
        {






reply via email to

[Prev in Thread] Current Thread [Next in Thread]