mirror of
https://github.com/CTCaer/hekate.git
synced 2024-11-13 22:06:46 +00:00
fatfs: utilize fatfs buffers for parsing gpt
This commit is contained in:
parent
46038032a4
commit
4958bd6a52
1 changed files with 6 additions and 4 deletions
|
@ -3323,11 +3323,13 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */
|
||||||
#if FF_SIMPLE_GPT
|
#if FF_SIMPLE_GPT
|
||||||
if (fmt >= 2) {
|
if (fmt >= 2) {
|
||||||
/* If GPT Check the first partition */
|
/* If GPT Check the first partition */
|
||||||
gpt_t gpt;
|
gpt_header_t *gpt_header = (gpt_header_t *)fs->win;
|
||||||
if (disk_read(fs->pdrv, (BYTE *)&gpt, 1, sizeof(gpt_t) / SS(fs))) return FR_DISK_ERR;
|
if (move_window(fs, 1) != FR_OK) return FR_DISK_ERR;
|
||||||
if (!mem_cmp(&gpt.header.signature, "EFI PART", 8)) {
|
if (!mem_cmp(&gpt_header->signature, "EFI PART", 8)) {
|
||||||
|
if (move_window(fs, gpt_header->part_ent_lba) != FR_OK) return FR_DISK_ERR;
|
||||||
|
gpt_entry_t *gpt_entry = (gpt_entry_t *)fs->win;
|
||||||
fs->part_type = 1;
|
fs->part_type = 1;
|
||||||
bsect = gpt.entries[0].lba_start;
|
bsect = gpt_entry->lba_start;
|
||||||
fmt = bsect ? check_fs(fs, bsect) : 3; /* Check the partition */
|
fmt = bsect ? check_fs(fs, bsect) : 3; /* Check the partition */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue