From 33457ad8f81660f3db499262254b3e019c24d678 Mon Sep 17 00:00:00 2001 From: Kostas Missos Date: Mon, 9 Jul 2018 22:13:56 +0300 Subject: [PATCH] As always remove more uneeded stuff --- ipl/ff.c | 58 +++++++++++++++++------------------------------------- ipl/hos.c | 12 +++++------ ipl/main.c | 28 +++++++++----------------- 3 files changed, 33 insertions(+), 65 deletions(-) diff --git a/ipl/ff.c b/ipl/ff.c index 4b5d2e6..66c387a 100755 --- a/ipl/ff.c +++ b/ipl/ff.c @@ -3290,11 +3290,11 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ } while (LD2PT(vol) == 0 && fmt >= 2 && ++i < 4); } if (fmt == 4) { - EFSPRINTF("Disk I/O error - Could not load boot record!"); + EFSPRINTF("Could not load boot record!"); return FR_DISK_ERR; /* An error occured in the disk I/O layer */ } if (fmt >= 2) { - EFSPRINTF("No FAT/FAT32/exFAT filesystem found!"); + EFSPRINTF("No FAT/FAT32/exFAT found!"); return FR_NO_FILESYSTEM; /* No FAT volume is found */ } @@ -3312,7 +3312,7 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ return FR_NO_FILESYSTEM; /* Check exFAT version (must be version 1.0) */ if (1 << fs->win[BPB_BytsPerSecEx] != SS(fs)) { /* (BPB_BytsPerSecEx must be equal to the physical sector size) */ - EFSPRINTF("exFAT - Bytes per sector does not match physical sector size!"); + EFSPRINTF("exFAT - Sector size does not match physical sector size!"); return FR_NO_FILESYSTEM; } @@ -3330,15 +3330,13 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ fs->csize = 1 << fs->win[BPB_SecPerClusEx]; /* Cluster size */ if (fs->csize == 0) { - EFSPRINTF("exFAT - Cluster size is not between 1KB - 32KB!"); + EFSPRINTF("exFAT - Sectors per clusters!"); return FR_NO_FILESYSTEM; /* (Must be 1..32768) */ } nclst = ld_dword(fs->win + BPB_NumClusEx); /* Number of clusters */ - if (nclst > MAX_EXFAT) { - EFSPRINTF("exFAT - Total clusters exceed allowed!"); + if (nclst > MAX_EXFAT) return FR_NO_FILESYSTEM; /* (Too many clusters) */ - } fs->n_fatent = nclst + 2; /* Boundaries and Limits */ @@ -3351,7 +3349,7 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ /* Check if bitmap location is in assumption (at the first cluster) */ if (move_window(fs, clst2sect(fs, fs->dirbase)) != FR_OK) { - EFSPRINTF("exFAT - Bitmap location not at first cluster!"); + EFSPRINTF("exFAT - Bitmap location not at 1st cluster!"); return FR_DISK_ERR; } for (i = 0; i < SS(fs); i += SZDIRE) { @@ -3369,7 +3367,7 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ #endif /* FF_FS_EXFAT */ { if (ld_word(fs->win + BPB_BytsPerSec) != SS(fs)) { - EFSPRINTF("FAT - Bytes per sector does not match physical sector size!"); + EFSPRINTF("FAT - Sector size does not match physical sector size!"); return FR_NO_FILESYSTEM; /* (BPB_BytsPerSec must be equal to the physical sector size) */ } @@ -3378,10 +3376,8 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ fs->fsize = fasize; fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FATs */ - if (fs->n_fats != 1 && fs->n_fats != 2) { - EFSPRINTF("FAT - No or more than 2 file allocation tables found!"); + if (fs->n_fats != 1 && fs->n_fats != 2) return FR_NO_FILESYSTEM; /* (Must be 1 or 2) */ - } fasize *= fs->n_fats; /* Number of sectors for FAT area */ fs->csize = fs->win[BPB_SecPerClus]; /* Cluster size */ @@ -3389,10 +3385,8 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ return FR_NO_FILESYSTEM; /* (Must be power of 2) */ fs->n_rootdir = ld_word(fs->win + BPB_RootEntCnt); /* Number of root directory entries */ - if (fs->n_rootdir % (SS(fs) / SZDIRE)) { - EFSPRINTF("FAT - Root directory entries are not sector aligned!"); + if (fs->n_rootdir % (SS(fs) / SZDIRE)) return FR_NO_FILESYSTEM; /* (Must be sector aligned) */ - } tsect = ld_word(fs->win + BPB_TotSec16); /* Number of sectors on the volume */ if (tsect == 0) tsect = ld_dword(fs->win + BPB_TotSec32); @@ -3403,23 +3397,17 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ /* Determine the FAT sub type */ sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZDIRE); /* RSV + FAT + DIR */ - if (tsect < sysect) { - EFSPRINTF("FAT - Invalid volume size!"); + if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ - } nclst = (tsect - sysect) / fs->csize; /* Number of clusters */ - if (nclst == 0) { - EFSPRINTF("FAT - Invalid volume size!"); + if (nclst == 0) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ - } fmt = 0; if (nclst <= MAX_FAT32) fmt = FS_FAT32; if (nclst <= MAX_FAT16) fmt = FS_FAT16; if (nclst <= MAX_FAT12) fmt = FS_FAT12; - if (fmt == 0) { - EFSPRINTF("FAT - Not compatible FAT12/16/32 filesystem!"); + if (fmt == 0) return FR_NO_FILESYSTEM; - } /* Boundaries and Limits */ fs->n_fatent = nclst + 2; /* Number of FAT entries */ @@ -3429,25 +3417,19 @@ static FRESULT find_volume ( /* FR_OK(0): successful, !=0: an error occurred */ if (fmt == FS_FAT32) { if (ld_word(fs->win + BPB_FSVer32) != 0) return FR_NO_FILESYSTEM; /* (Must be FAT32 revision 0.0) */ - if (fs->n_rootdir != 0) { - EFSPRINTF("FAT32 - Root entry sector is not 0!"); + if (fs->n_rootdir != 0) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */ - } fs->dirbase = ld_dword(fs->win + BPB_RootClus32); /* Root directory start cluster */ szbfat = fs->n_fatent * 4; /* (Needed FAT size) */ } else { - if (fs->n_rootdir == 0) { - EFSPRINTF("FAT - Root entry sector is 0!"); + if (fs->n_rootdir == 0) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must not be 0) */ - } fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */ szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ fs->n_fatent * 2 : fs->n_fatent * 3 / 2 + (fs->n_fatent & 1); } - if (fs->fsize < (szbfat + (SS(fs) - 1)) / SS(fs)) { - EFSPRINTF("FAT - FAT size is not the required size!"); + if (fs->fsize < (szbfat + (SS(fs) - 1)) / SS(fs)) return FR_NO_FILESYSTEM; /* (BPB_FATSz must not be less than the size needed) */ - } #if !FF_FS_READONLY /* Get FSInfo if available */ @@ -3880,7 +3862,7 @@ FRESULT f_read ( } #endif if (disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) { - EFSPRINTF("Read - Low level disk I/O!\n(fill sector cache)"); + EFSPRINTF("Read - Fill sector cache"); ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ } } @@ -3977,10 +3959,8 @@ FRESULT f_write ( if (fs->winsect == fp->sect && sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Write-back sector cache */ #else if (fp->flag & FA_DIRTY) { /* Write-back sector cache */ - if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) { - EFSPRINTF("Write-back sector cache!"); + if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - } fp->flag &= (BYTE)~FA_DIRTY; } #endif @@ -4023,10 +4003,8 @@ FRESULT f_write ( #else if (fp->sect != sect && /* Fill sector cache with file data */ fp->fptr < fp->obj.objsize && - disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) { - EFSPRINTF("Read - Low level disk I/O!\n(Could not fill sector cache with file data)"); + disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); - } #endif fp->sect = sect; } diff --git a/ipl/hos.c b/ipl/hos.c index 4cbd200..f7e43d3 100755 --- a/ipl/hos.c +++ b/ipl/hos.c @@ -605,17 +605,17 @@ int hos_launch(ini_sec_t *cfg) // Lock SE before starting 'SecureMonitor'. _se_lock(); - //< 4.0.0 Signals. 0: Nothing ready, 1: BCT ready, 2: DRAM and pkg2 ready, 3: Continue boot - //>=4.0.0 Signals. 0: Nothing ready, 1: BCT ready, 2: DRAM ready, 4: pkg2 ready and continue boot + // < 4.0.0 Signals - 0: Nothing ready, 1: BCT ready, 2: DRAM and pkg2 ready, 3: Continue boot. + // >= 4.0.0 Signals - 0: Nothing ready, 1: BCT ready, 2: DRAM ready, 4: pkg2 ready and continue boot. vu32 *mb_in = (vu32 *)0x40002EF8; //Non-zero: Secmon ready vu32 *mb_out = (vu32 *)0x40002EFC; - //Start from DRAM ready signal + // Start from DRAM ready signal. *mb_in = bootStateDramPkg2; *mb_out = 0; - //Wait for secmon to get ready. + // Wait for secmon to get ready. cluster_boot_cpu0(ctxt.pkg1_id->secmon_base); while (!*mb_out) usleep(1); @@ -634,10 +634,10 @@ int hos_launch(ini_sec_t *cfg) if (end_di) display_end(); - //Signal to pkg2 ready and continue boot. + // Signal pkg2 ready and continue boot. *mb_in = bootStatePkg2Continue; - //Halt ourselves in waitevent state and resume if there's JTAG activity. + // Halt ourselves in waitevent state and resume if there's JTAG activity. while (1) FLOW_CTLR(FLOW_CTLR_HALT_COP_EVENTS) = 0x50000000; diff --git a/ipl/main.c b/ipl/main.c index 5e04037..70a2e76 100755 --- a/ipl/main.c +++ b/ipl/main.c @@ -394,9 +394,7 @@ void print_fuseinfo() f_mkdir("Backup/Dumps"); memcpy(fuseFilename, "Backup/Dumps/fuses.bin", 23); - if (sd_save_to_file((u8 *)0x7000F900, 0x2FC, fuseFilename)) - EPRINTF("\nError creating fuse.bin file."); - else + if (!sd_save_to_file((u8 *)0x7000F900, 0x2FC, fuseFilename)) gfx_puts(&gfx_con, "\nDone!\n"); sd_unmount(); } @@ -429,9 +427,7 @@ void print_kfuseinfo() f_mkdir("Backup/Dumps"); memcpy(kfuseFilename, "Backup/Dumps/kfuses.bin", 24); - if (sd_save_to_file((u8 *)buf, KFUSE_NUM_WORDS * 4, kfuseFilename)) - EPRINTF("\nError creating kfuse.bin file."); - else + if (!sd_save_to_file((u8 *)buf, KFUSE_NUM_WORDS * 4, kfuseFilename)) gfx_puts(&gfx_con, "\nDone!\n"); sd_unmount(); } @@ -1566,34 +1562,28 @@ void dump_package1() gfx_printf(&gfx_con, "%kWarmboot addr: %k0x%05X\n", 0xFFC7EA46, 0xFFCCCCCC, pkg1_id->warmboot_base); gfx_printf(&gfx_con, "%kWarmboot size: %k0x%05X\n\n", 0xFFC7EA46, 0xFFCCCCCC, hdr->wb_size); - // Dump package1. + // Create folders if they do not exist. f_mkdir("Backup"); f_mkdir("Backup/pkg1"); - if (sd_save_to_file(pkg1, 0x40000, "Backup/pkg1/pkg1_decr.bin")) { - EPRINTF("\nFailed to create pkg1_decr.bin"); + + // Dump package1.1. + if (sd_save_to_file(pkg1, 0x40000, "Backup/pkg1/pkg1_decr.bin")) goto out; - } gfx_puts(&gfx_con, "\nFull package1 dumped to pkg1_decr.bin\n"); // Dump nxbootloader. - if (sd_save_to_file(loader, hdr->ldr_size, "Backup/pkg1/nxloader.bin")) { - EPRINTF("\nFailed to create nxloader.bin"); + if (sd_save_to_file(loader, hdr->ldr_size, "Backup/pkg1/nxloader.bin")) goto out; - } gfx_puts(&gfx_con, "NX Bootloader dumped to nxloader.bin\n"); // Dump secmon. - if (sd_save_to_file(secmon, hdr->sm_size, "Backup/pkg1/secmon.bin")) { - EPRINTF("\nFailed to create secmon.bin"); + if (sd_save_to_file(secmon, hdr->sm_size, "Backup/pkg1/secmon.bin")) goto out; - } gfx_puts(&gfx_con, "Secure Monitor dumped to secmon.bin\n"); // Dump warmboot. - if (sd_save_to_file(warmboot, hdr->wb_size, "Backup/pkg1/warmboot.bin")) { - EPRINTF("\nFailed to create warmboot.bin"); + if (sd_save_to_file(warmboot, hdr->wb_size, "Backup/pkg1/warmboot.bin")) goto out; - } gfx_puts(&gfx_con, "Warmboot dumped to warmboot.bin\n"); gfx_puts(&gfx_con, "\nDone. Press any key...\n");