ExFAT support.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 19 Oct 2011 18:19:25 +0000 (20:19 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 19 Oct 2011 18:19:25 +0000 (20:19 +0200)
commita374751b1640db0b55514f428c27dc6277b77d7d
tree08398f4e7f376f6d30aa2542cf93e787b733b151
parent544c24876e2f20e217c615e10cb802aa1d8295be
parentb6929f5ef598a6d76129fc1915a87bdcf7c62fb8
ExFAT support.

* Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
* grub-core/Makefile.core.def (exfat): New module.
* grub-core/fs/exfat.c: New file.
* grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
(GRUB_FAT_ATTR_*): Make into an enum.
(GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
(GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
(GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
(GRUB_FAT_MAXFILE): Removed.
(grub_exfat_bpb) [MODE_EXFAT]: New struct.
(grub_current_fat_bpb_t): New type.
(grub_fat_dir_entry) [MODE_EXFAT]: New struct.
(grub_fat_dir_node) [MODE_EXFAT]: New struct.
(grub_fat_dir_node_t): New type.
(grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
(fat_log2) [MODE_EXFAT]: Removed.
(grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
(grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
(grub_fat_iterate_dir) [MODE_EXFAT]: New function.
(grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
(grub_fat_label) [MODE_EXFAT]: New function.
(grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
reserved_first_sector to 0.
ChangeLog
Makefile.util.def
grub-core/Makefile.core.def
grub-core/fs/fat.c