]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
enable ATA on qemu-mips
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 17 May 2011 12:35:55 +0000 (14:35 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 17 May 2011 12:35:55 +0000 (14:35 +0200)
grub-core/Makefile.core.def
grub-core/disk/ata.c

index 48809a65d0bc67cd8cd605ba67f0da4d09ee1ca1..1c0b530a1b4573a818a3bea2857ff63348127429 100644 (file)
@@ -856,12 +856,14 @@ module = {
   name = ata;
   common = disk/ata.c;
   enable = pci;
+  enable = mips_qemu_mips;
 };
 
 module = {
   name = ata_pthru;
   common = disk/ata_pthru.c;
   enable = pci;
+  enable = mips_qemu_mips;
 };
 
 module = {
index 391ccb9a2ee2ad35e6d8ceaa9cd7938164418051..12e70d91bdc82fde28bf25134cc58672c8bc1d88 100644 (file)
 #include <grub/disk.h>
 #include <grub/mm.h>
 #include <grub/time.h>
+#ifndef GRUB_MACHINE_MIPS_QEMU_MIPS
 #include <grub/pci.h>
-#include <grub/scsi.h>
 #include <grub/cs5536.h>
+#else
+#define GRUB_MACHINE_PCI_IO_BASE  0xb4000000
+#endif
+#include <grub/scsi.h>
 
 GRUB_MOD_LICENSE ("GPLv3+");
 
@@ -409,6 +413,7 @@ grub_ata_device_initialize (int port, int device, int addr, int addr2)
   return 0;
 }
 
+#ifndef GRUB_MACHINE_MIPS_QEMU_MIPS
 static int NESTED_FUNC_ATTR
 grub_ata_pciinit (grub_pci_device_t dev,
                  grub_pci_id_t pciid)
@@ -524,6 +529,21 @@ grub_ata_initialize (void)
   grub_pci_iterate (grub_ata_pciinit);
   return 0;
 }
+#else
+static grub_err_t
+grub_ata_initialize (void)
+{
+  int i;
+  for (i = 0; i < 2; i++)
+    {
+      grub_ata_device_initialize (i, 0, grub_ata_ioaddress[i],
+                                 grub_ata_ioaddress2[i]);
+      grub_ata_device_initialize (i, 1, grub_ata_ioaddress[i],
+                                 grub_ata_ioaddress2[i]);
+    }
+  return 0;
+}
+#endif
 
 static void
 grub_ata_setlba (struct grub_ata_device *dev, grub_disk_addr_t sector,