Merge pull request #19 from SciresM/patch-1

Prefer OTP from memory to OTP from file
This commit is contained in:
Aurora 2016-08-25 22:25:41 +02:00 committed by GitHub
commit 9e579395af

View File

@ -68,14 +68,20 @@ static inline void installer(u32 a9lhBoot)
//If making a first install, we need the OTP
if(!a9lhBoot)
{
//Read OTP
// Prefer OTP from memory if available
const u8 zeroes[256] = {0};
path = "a9lh/otp.bin";
if(fileRead((void *)OTP_OFFSET, path) != 256)
if(memcmp((void *)OTP_FROM_MEM, zeroes, 256) == 0)
{
const u8 zeroes[256] = {0};
if(memcmp((void *)OTP_FROM_MEM, zeroes, 256) == 0)
shutdown(1, "Error: otp.bin doesn't exist and can't be dumped");
// Read OTP from file
if(fileRead((void *)OTP_OFFSET, path) != 256)
{
shutdown(1, "Error: otp.bin doesn't exist and can't be dumped");
}
}
else
{
// Write OTP from memory to file
fileWrite((void *)OTP_FROM_MEM, path, 256);
memcpy((void *)OTP_OFFSET, (void *)OTP_FROM_MEM, 256);
}
@ -232,4 +238,4 @@ static inline void uninstaller(void)
sdmmc_nand_writesectors(0x5C000, MAX_STAGE2_SIZE / 0x200, (vu8 *)STAGE2_OFFSET);
shutdown(2, "Uninstall: success!");
}
}