forked from len0rd/rockbox
disk: Support a non-fixed (logical) SECTOR_SIZE
This allows a single build to support ATA drives with (eg) 512B and 4K logical sector sizes. This is needed because ATA drives are user- replaceable and we don't know what could get plugged in. * Add disk_get_log_sector_size() API (no-op for non-ATA storage) * Mostly a no-op if MAX_LOG_SECTOR_SIZE is not enabled * Sanity-check that storage's logical sector size is not larger than what we're built for NOTE: Other layers (eg ATA, FAT, etc) still need to be made aware of this. Change-Id: Id6183ef0573cb0778fa9a91302e600c3e710eebd
This commit is contained in:
parent
209aeff5b1
commit
a8c52b1bfb
2 changed files with 68 additions and 11 deletions
|
@ -47,10 +47,12 @@ int disk_mount(int drive);
|
|||
int disk_unmount_all(void);
|
||||
int disk_unmount(int drive);
|
||||
|
||||
/* The number of 512-byte sectors in a "logical" sector. Needed for ipod 5.5G */
|
||||
/* Used when the drive's logical sector size is smaller than the sector size used by the partition table and filesystem. Notably needed for ipod 5.5G/6G. */
|
||||
#ifdef MAX_LOG_SECTOR_SIZE
|
||||
int disk_get_sector_multiplier(IF_MD_NONVOID(int drive));
|
||||
#endif
|
||||
/* The size of the drive's smallest addressible unit */
|
||||
int disk_get_log_sector_size(IF_MD_NONVOID(int drive));
|
||||
|
||||
bool disk_present(IF_MD_NONVOID(int drive));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue