]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2008-03-20 Robert Millan <rmh@aybabtu.com>
authorrobertmh <robertmh@localhost>
Thu, 20 Mar 2008 21:00:15 +0000 (21:00 +0000)
committerrobertmh <robertmh@localhost>
Thu, 20 Mar 2008 21:00:15 +0000 (21:00 +0000)
        Remove 2 TiB limit in ata.mod.
        * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
        (grub_ata_dumpinfo): Print sector count with 0x%llx.
        (grub_ata_identify): Interpret `&info16[100]' as a pointer to
        grub_uint64_t instead of grub_uint32_t.

ChangeLog
disk/ata.c

index c50e5922401e1e7c0e4ccecd1c417548db98ac1e..5f411de403ac5f217a57b2c4bb4f6d4606db7345 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-03-20  Robert Millan  <rmh@aybabtu.com>
+
+       Remove 2 TiB limit in ata.mod.
+       * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
+       (grub_ata_dumpinfo): Print sector count with 0x%llx.
+       (grub_ata_identify): Interpret `&info16[100]' as a pointer to
+       grub_uint64_t instead of grub_uint32_t.
+
 2008-03-05  Bean  <bean123ch@gmail.com>
 
        * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
index 30dea7918163c1aba22fc57ada4e1d39ec2cb0c3..90ed0e10108134a83267c317c2eb1e3b814fdec1 100644 (file)
@@ -86,7 +86,7 @@ struct grub_ata_device
   grub_ata_addressing_t addr;
 
   /* Sector count.  */
-  grub_size_t size;
+  grub_uint64_t size;
 
   /* CHS maximums.  */
   grub_uint16_t cylinders;
@@ -214,8 +214,7 @@ grub_ata_dumpinfo (struct grub_ata_device *dev, char *info)
   grub_printf ("Model: %s\n", text);
 
   grub_printf ("Addressing: %d\n", dev->addr);
-  grub_printf ("#sectors: %d\n", dev->size);
-
+  grub_printf ("#sectors: 0x%llx\n", dev->size);
 }
 
 static grub_err_t
@@ -315,7 +314,7 @@ grub_ata_identify (struct grub_ata_device *dev)
   if (dev->addr != GRUB_ATA_LBA48)
     dev->size = grub_le_to_cpu32(*((grub_uint32_t *) &info16[60]));
   else
-    dev->size = grub_le_to_cpu64(*((grub_uint32_t *) &info16[100]));
+    dev->size = grub_le_to_cpu64(*((grub_uint64_t *) &info16[100]));
 
   /* Read CHS information.  */
   dev->cylinders = info16[1];