+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.
grub_ata_addressing_t addr;
/* Sector count. */
- grub_size_t size;
+ grub_uint64_t size;
/* CHS maximums. */
grub_uint16_t cylinders;
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
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];