[Top][All Lists]
[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++)
{
- ata.c and sata disks,
Vega <=