mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 19:31:12 +00:00
sdmmc v2: Name eMMC physical partitions
This commit is contained in:
parent
10e7e06048
commit
5442547a59
12 changed files with 23 additions and 23 deletions
|
@ -525,7 +525,7 @@ static void _dump_emmc_selected(emmcPartType_t dumpType)
|
||||||
|
|
||||||
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER) || (dumpType & PART_RAW))
|
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER) || (dumpType & PART_RAW))
|
||||||
{
|
{
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
|
|
||||||
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER))
|
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER))
|
||||||
{
|
{
|
||||||
|
@ -873,7 +873,7 @@ static void _restore_emmc_selected(emmcPartType_t restoreType)
|
||||||
|
|
||||||
if (restoreType & PART_GP_ALL)
|
if (restoreType & PART_GP_ALL)
|
||||||
{
|
{
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
|
|
||||||
LIST_INIT(gpt);
|
LIST_INIT(gpt);
|
||||||
nx_emmc_gpt_parse(&gpt, &storage);
|
nx_emmc_gpt_parse(&gpt, &storage);
|
||||||
|
|
|
@ -263,7 +263,7 @@ void print_mmc_info()
|
||||||
gfx_put_small_sep();
|
gfx_put_small_sep();
|
||||||
gfx_printf("%kGPP (eMMC USER) partition table:%k\n", 0xFF00DDFF, 0xFFCCCCCC);
|
gfx_printf("%kGPP (eMMC USER) partition table:%k\n", 0xFF00DDFF, 0xFFCCCCCC);
|
||||||
|
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
LIST_INIT(gpt);
|
LIST_INIT(gpt);
|
||||||
nx_emmc_gpt_parse(&gpt, &storage);
|
nx_emmc_gpt_parse(&gpt, &storage);
|
||||||
int gpp_idx = 0;
|
int gpp_idx = 0;
|
||||||
|
@ -350,7 +350,7 @@ void print_tsec_key()
|
||||||
|
|
||||||
// Read package1.
|
// Read package1.
|
||||||
u8 *pkg1 = (u8 *)malloc(0x40000);
|
u8 *pkg1 = (u8 *)malloc(0x40000);
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
sdmmc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
sdmmc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
||||||
sdmmc_storage_end(&storage);
|
sdmmc_storage_end(&storage);
|
||||||
const pkg1_id_t *pkg1_id = pkg1_identify(pkg1);
|
const pkg1_id_t *pkg1_id = pkg1_identify(pkg1);
|
||||||
|
|
|
@ -74,7 +74,7 @@ void dump_packages12()
|
||||||
EPRINTF("Failed to init eMMC.");
|
EPRINTF("Failed to init eMMC.");
|
||||||
goto out_free;
|
goto out_free;
|
||||||
}
|
}
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
|
|
||||||
// Read package1.
|
// Read package1.
|
||||||
sdmmc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
sdmmc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
||||||
|
@ -169,7 +169,7 @@ void dump_packages12()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dump package2.1.
|
// Dump package2.1.
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
// Parse eMMC GPT.
|
// Parse eMMC GPT.
|
||||||
LIST_INIT(gpt);
|
LIST_INIT(gpt);
|
||||||
nx_emmc_gpt_parse(&gpt, &storage);
|
nx_emmc_gpt_parse(&gpt, &storage);
|
||||||
|
@ -271,7 +271,7 @@ void _toggle_autorcm(bool enable)
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 *tempbuf = (u8 *)malloc(0x200);
|
u8 *tempbuf = (u8 *)malloc(0x200);
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
|
|
||||||
int i, sect = 0;
|
int i, sect = 0;
|
||||||
u8 corr_mod_byte0;
|
u8 corr_mod_byte0;
|
||||||
|
@ -344,7 +344,7 @@ void menu_autorcm()
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 *tempbuf = (u8 *)malloc(0x200);
|
u8 *tempbuf = (u8 *)malloc(0x200);
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
sdmmc_storage_read(&storage, 0x200 / NX_EMMC_BLOCKSIZE, 1, tempbuf);
|
sdmmc_storage_read(&storage, 0x200 / NX_EMMC_BLOCKSIZE, 1, tempbuf);
|
||||||
|
|
||||||
if ((fuse_read_odm(4) & 3) != 3)
|
if ((fuse_read_odm(4) & 3) != 3)
|
||||||
|
|
|
@ -346,7 +346,7 @@ static int _read_emmc_pkg1(launch_ctxt_t *ctxt)
|
||||||
|
|
||||||
// Read package1.
|
// Read package1.
|
||||||
ctxt->pkg1 = (void *)malloc(0x40000);
|
ctxt->pkg1 = (void *)malloc(0x40000);
|
||||||
emummc_storage_set_mmc_partition(&storage, 1);
|
emummc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
emummc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, ctxt->pkg1);
|
emummc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, ctxt->pkg1);
|
||||||
ctxt->pkg1_id = pkg1_identify(ctxt->pkg1);
|
ctxt->pkg1_id = pkg1_identify(ctxt->pkg1);
|
||||||
if (!ctxt->pkg1_id)
|
if (!ctxt->pkg1_id)
|
||||||
|
@ -387,7 +387,7 @@ static u8 *_read_emmc_pkg2(launch_ctxt_t *ctxt)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
emummc_storage_set_mmc_partition(&storage, 0);
|
emummc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
|
|
||||||
// Parse eMMC GPT.
|
// Parse eMMC GPT.
|
||||||
LIST_INIT(gpt);
|
LIST_INIT(gpt);
|
||||||
|
|
|
@ -201,7 +201,7 @@ void config_exosphere(launch_ctxt_t *ctxt)
|
||||||
u8 *rsa_mod = (u8 *)malloc(512);
|
u8 *rsa_mod = (u8 *)malloc(512);
|
||||||
|
|
||||||
sdmmc_storage_init_mmc(&storage, &sdmmc, SDMMC_BUS_WIDTH_8, SDHCI_TIMING_MMC_HS400);
|
sdmmc_storage_init_mmc(&storage, &sdmmc, SDMMC_BUS_WIDTH_8, SDHCI_TIMING_MMC_HS400);
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
sdmmc_storage_read(&storage, 1, 1, rsa_mod);
|
sdmmc_storage_read(&storage, 1, 1, rsa_mod);
|
||||||
sdmmc_storage_end(&storage);
|
sdmmc_storage_end(&storage);
|
||||||
|
|
||||||
|
|
|
@ -103,7 +103,7 @@ void check_sept(ini_sec_t *cfg_sec)
|
||||||
goto out_free;
|
goto out_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
emummc_storage_set_mmc_partition(&storage, 1);
|
emummc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
|
|
||||||
// Read package1.
|
// Read package1.
|
||||||
emummc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
emummc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
||||||
|
|
|
@ -1155,7 +1155,7 @@ static void _patched_rcm_protection()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
u8 *tempbuf = (u8 *)malloc(0x200);
|
u8 *tempbuf = (u8 *)malloc(0x200);
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
|
|
||||||
u8 corr_mod_byte0;
|
u8 corr_mod_byte0;
|
||||||
int i, sect = 0;
|
int i, sect = 0;
|
||||||
|
|
|
@ -791,7 +791,7 @@ void dump_emmc_selected(emmcPartType_t dumpType, emmc_tool_gui_t *gui)
|
||||||
|
|
||||||
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER) || (dumpType & PART_RAW))
|
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER) || (dumpType & PART_RAW))
|
||||||
{
|
{
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
|
|
||||||
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER))
|
if ((dumpType & PART_SYSTEM) || (dumpType & PART_USER))
|
||||||
{
|
{
|
||||||
|
@ -1374,7 +1374,7 @@ void restore_emmc_selected(emmcPartType_t restoreType, emmc_tool_gui_t *gui)
|
||||||
gui->base_path = (char *)malloc(strlen(sdPath) + 1);
|
gui->base_path = (char *)malloc(strlen(sdPath) + 1);
|
||||||
strcpy(gui->base_path, sdPath);
|
strcpy(gui->base_path, sdPath);
|
||||||
|
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
|
|
||||||
LIST_INIT(gpt);
|
LIST_INIT(gpt);
|
||||||
nx_emmc_gpt_parse(&gpt, &storage);
|
nx_emmc_gpt_parse(&gpt, &storage);
|
||||||
|
|
|
@ -443,7 +443,7 @@ void dump_emummc_file(emmc_tool_gui_t *gui)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get GP partition size dynamically.
|
// Get GP partition size dynamically.
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
|
|
||||||
// Get GP partition size dynamically.
|
// Get GP partition size dynamically.
|
||||||
const u32 RAW_AREA_NUM_SECTORS = storage.sec_cnt;
|
const u32 RAW_AREA_NUM_SECTORS = storage.sec_cnt;
|
||||||
|
@ -713,7 +713,7 @@ void dump_emummc_raw(emmc_tool_gui_t *gui, int part_idx, u32 sector_start)
|
||||||
strcpy(sdPath, gui->base_path);
|
strcpy(sdPath, gui->base_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
|
|
||||||
// Get GP partition size dynamically.
|
// Get GP partition size dynamically.
|
||||||
const u32 RAW_AREA_NUM_SECTORS = storage.sec_cnt;
|
const u32 RAW_AREA_NUM_SECTORS = storage.sec_cnt;
|
||||||
|
|
|
@ -436,7 +436,7 @@ static lv_res_t _create_window_tsec_keys_status(lv_obj_t *btn)
|
||||||
char *build_date = malloc(32);
|
char *build_date = malloc(32);
|
||||||
u8 *pkg1 = (u8 *)malloc(0x40000);
|
u8 *pkg1 = (u8 *)malloc(0x40000);
|
||||||
sdmmc_storage_init_mmc(&storage, &sdmmc, SDMMC_BUS_WIDTH_8, SDHCI_TIMING_MMC_HS400);
|
sdmmc_storage_init_mmc(&storage, &sdmmc, SDMMC_BUS_WIDTH_8, SDHCI_TIMING_MMC_HS400);
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
sdmmc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
sdmmc_storage_read(&storage, 0x100000 / NX_EMMC_BLOCKSIZE, 0x40000 / NX_EMMC_BLOCKSIZE, pkg1);
|
||||||
sdmmc_storage_end(&storage);
|
sdmmc_storage_end(&storage);
|
||||||
const pkg1_id_t *pkg1_id = pkg1_identify(pkg1, build_date);
|
const pkg1_id_t *pkg1_id = pkg1_identify(pkg1, build_date);
|
||||||
|
@ -653,7 +653,7 @@ static lv_res_t _create_window_emmc_info_status(lv_obj_t *btn)
|
||||||
s_printf(txt_buf + strlen(txt_buf), "0: #96FF00 GPP# Size: %5d MiB (Sect: 0x%08X)\n\n", storage.sec_cnt >> SECTORS_TO_MIB_COEFF, storage.sec_cnt);
|
s_printf(txt_buf + strlen(txt_buf), "0: #96FF00 GPP# Size: %5d MiB (Sect: 0x%08X)\n\n", storage.sec_cnt >> SECTORS_TO_MIB_COEFF, storage.sec_cnt);
|
||||||
s_printf(txt_buf + strlen(txt_buf), "#00DDFF GPP (eMMC USER) Partition Table:#\n");
|
s_printf(txt_buf + strlen(txt_buf), "#00DDFF GPP (eMMC USER) Partition Table:#\n");
|
||||||
|
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
LIST_INIT(gpt);
|
LIST_INIT(gpt);
|
||||||
nx_emmc_gpt_parse(&gpt, &storage);
|
nx_emmc_gpt_parse(&gpt, &storage);
|
||||||
int gpp_idx = 0;
|
int gpp_idx = 0;
|
||||||
|
|
|
@ -51,7 +51,7 @@ bool get_autorcm_status(bool change)
|
||||||
sdmmc_storage_init_mmc(&storage, &sdmmc, SDMMC_BUS_WIDTH_8, SDHCI_TIMING_MMC_HS400);
|
sdmmc_storage_init_mmc(&storage, &sdmmc, SDMMC_BUS_WIDTH_8, SDHCI_TIMING_MMC_HS400);
|
||||||
|
|
||||||
u8 *tempbuf = (u8 *)malloc(0x200);
|
u8 *tempbuf = (u8 *)malloc(0x200);
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
sdmmc_storage_read(&storage, 0x200 / NX_EMMC_BLOCKSIZE, 1, tempbuf);
|
sdmmc_storage_read(&storage, 0x200 / NX_EMMC_BLOCKSIZE, 1, tempbuf);
|
||||||
|
|
||||||
if ((fuse_read_odm(4) & 3) != 3)
|
if ((fuse_read_odm(4) & 3) != 3)
|
||||||
|
@ -359,7 +359,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
goto out_free;
|
goto out_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
|
|
||||||
// Read package1.
|
// Read package1.
|
||||||
char *build_date = malloc(32);
|
char *build_date = malloc(32);
|
||||||
|
@ -477,7 +477,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dump package2.1.
|
// Dump package2.1.
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 0);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_GPP);
|
||||||
// Parse eMMC GPT.
|
// Parse eMMC GPT.
|
||||||
LIST_INIT(gpt);
|
LIST_INIT(gpt);
|
||||||
nx_emmc_gpt_parse(&gpt, &storage);
|
nx_emmc_gpt_parse(&gpt, &storage);
|
||||||
|
|
|
@ -93,7 +93,7 @@ void check_sept()
|
||||||
EPRINTF("Failed to init eMMC.");
|
EPRINTF("Failed to init eMMC.");
|
||||||
goto out_free;
|
goto out_free;
|
||||||
}
|
}
|
||||||
sdmmc_storage_set_mmc_partition(&storage, 1);
|
sdmmc_storage_set_mmc_partition(&storage, EMMC_BOOT0);
|
||||||
|
|
||||||
// Read package1.
|
// Read package1.
|
||||||
char *build_date = malloc(32);
|
char *build_date = malloc(32);
|
||||||
|
|
Loading…
Reference in a new issue