From 1048a23074bcacf5d12adbaeca0092bec415b354 Mon Sep 17 00:00:00 2001 From: yutaka Date: Tue, 5 Feb 2008 07:43:14 +0000 Subject: [PATCH] =?UTF-8?q?SD=E3=82=A2=E3=83=97=E3=83=AA=E7=94=A8=E3=81=AE?= =?UTF-8?q?=E9=8D=B5=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@582 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/gcdfirm/sdmc-launcher/ARM7/main.c | 2 +- build/gcdfirm/sdmc-launcher/ARM9/main.c | 19 +++++++++++++++---- build/libraries/os/common/os_boot.c | 12 +++++++----- build/nandfirm/sdmc-launcher/ARM7/main.c | 2 +- build/nandfirm/sdmc-launcher/ARM9/main.c | 19 +++++++++++++++---- docs/鍵管理.xls | Bin 25600 -> 25600 bytes 6 files changed, 39 insertions(+), 15 deletions(-) diff --git a/build/gcdfirm/sdmc-launcher/ARM7/main.c b/build/gcdfirm/sdmc-launcher/ARM7/main.c index a1584f59..f5936b8c 100644 --- a/build/gcdfirm/sdmc-launcher/ARM7/main.c +++ b/build/gcdfirm/sdmc-launcher/ARM7/main.c @@ -33,7 +33,7 @@ PRINT_MEMORY_ADDR `ƁÃAhXSPrintfs܂(̃t@Ĉ) FINALROMłłR[hĉŒӂĂB */ -#define PRINT_MEMORY_ADDR 0x02000600 +//#define PRINT_MEMORY_ADDR 0x02FFC800 #ifdef PROFILE_ENABLE diff --git a/build/gcdfirm/sdmc-launcher/ARM9/main.c b/build/gcdfirm/sdmc-launcher/ARM9/main.c index c229b167..b7ef81b7 100644 --- a/build/gcdfirm/sdmc-launcher/ARM9/main.c +++ b/build/gcdfirm/sdmc-launcher/ARM9/main.c @@ -16,10 +16,21 @@ *---------------------------------------------------------------------------*/ #include -#ifndef FIRM_USE_TWLSDK_KEYS -#define RSA_KEY_ADDR OSi_GetFromFirmAddr()->rsa_pubkey[4] // Ǘ.xlsQ -#else #define RSA_KEY_ADDR rsa_key + +#ifndef FIRM_USE_TWLSDK_KEYS +static const u8 rsa_key[128] = +{ + 0xC7, 0x94, 0x50, 0x00, 0x3A, 0xE1, 0x0E, 0x6C, 0xA8, 0xD1, 0xC0, 0x2D, 0x77, 0xB7, 0x6D, 0xBC, + 0x31, 0xDB, 0x12, 0x08, 0x09, 0x0D, 0x2A, 0xE8, 0xC9, 0x1A, 0x2B, 0x6E, 0x6C, 0x85, 0x78, 0xD7, + 0x46, 0x50, 0x05, 0xB5, 0xCC, 0x3B, 0xEC, 0xBA, 0xF4, 0xDE, 0xC2, 0x13, 0x13, 0xBE, 0x67, 0xEE, + 0x85, 0x19, 0xEB, 0x62, 0xB3, 0x5C, 0x09, 0xA8, 0x54, 0x44, 0x26, 0x85, 0x25, 0xEA, 0xE5, 0x85, + 0xD1, 0xB5, 0xCE, 0xA0, 0xFF, 0x6B, 0x61, 0xCA, 0x94, 0xC1, 0x67, 0xBE, 0xC0, 0x7E, 0x3B, 0xFF, + 0x12, 0x9B, 0x79, 0xDB, 0xAC, 0xD3, 0x5A, 0x3F, 0x14, 0x37, 0x49, 0xA8, 0x7C, 0x2F, 0x07, 0xF4, + 0x8B, 0xA9, 0x8B, 0x8D, 0xB2, 0x60, 0xA5, 0xD5, 0x64, 0xEE, 0xCF, 0x3F, 0x32, 0xEE, 0x77, 0xAC, + 0x27, 0x75, 0x2B, 0x04, 0xD7, 0x26, 0xA8, 0x8A, 0x55, 0x2A, 0x76, 0xE5, 0x68, 0x80, 0x57, 0x85 +}; +#else static const u8 rsa_key[128] = { 0xAC, 0x93, 0xBB, @@ -52,7 +63,7 @@ static SVCSignHeapContext acPool; PRINT_MEMORY_ADDR `ƁÃAhXSPrintfs܂(̃t@Ĉ) FINALROMłłR[hĉŒӂĂB */ -#define PRINT_MEMORY_ADDR 0x02000200 +//#define PRINT_MEMORY_ADDR 0x02FFC000 //#ifdef SDK_FINALROM // FINALROMŖ //#undef PROFILE_ENABLE diff --git a/build/libraries/os/common/os_boot.c b/build/libraries/os/common/os_boot.c index c5dbc494..05d69755 100644 --- a/build/libraries/os/common/os_boot.c +++ b/build/libraries/os/common/os_boot.c @@ -53,17 +53,17 @@ void OS_BootWithRomHeaderFromFIRM( ROM_Header* rom_header ) mem_list[i++] = (u32)SDK_STATIC_START; mem_list[i++] = (u32)SDK_STATIC_BSS_END-(u32)SDK_STATIC_START; #ifdef SDK_ARM9 - /* ITCMSNA */ - mem_list[i++] = (u32)HW_ITCM; - mem_list[i++] = (u32)HW_ITCM_SIZE; + /* ITCMSNA (FromFrim) */ + mem_list[i++] = HW_ITCM; + mem_list[i++] = HW_FIRM_FROM_FIRM_BUF - HW_ITCM; + mem_list[i++] = HW_FIRM_FROM_FIRM_BUF_END; + mem_list[i++] = HW_ITCM_END - HW_FIRM_FROM_FIRM_BUF_END; /* FS/FATFSobt@̃NA */ mem_list[i++] = (u32)HW_FIRM_FATFS_COMMAND_BUFFER; // 0x02ff7800 - 0x02ffbfff mem_list[i++] = (u32)HW_FIRM_FS_TEMP_BUFFER_END - (u32)HW_FIRM_FATFS_COMMAND_BUFFER; /* ꕔobt@̃NA (Ǘ.xlsQ) */ mem_list[i++] = (u32)OSi_GetFromFirmAddr()->rsa_pubkey[0]; mem_list[i++] = ACS_PUBKEY_LEN; - mem_list[i++] = (u32)OSi_GetFromFirmAddr()->rsa_pubkey[4]; - mem_list[i++] = ACS_PUBKEY_LEN; #else // SDK_ARM7 /* FS_Loaderpobt@̃NA */ mem_list[i++] = HW_FIRM_LOAD_BUFFER_BASE; @@ -86,6 +86,7 @@ void OS_BootWithRomHeaderFromFIRM( ROM_Header* rom_header ) // post clear mem_list[i++] = NULL; SDK_ASSERT(i <= sizeof(mem_list)/sizeof(mem_list[0])); +#if 0 #ifdef FIRM_USE_TWLSDK_KEYS // TwlSDǨgĂ鎞͗ʎYpCPUł̓u[gȂ #ifdef SDK_ARM9 @@ -97,6 +98,7 @@ void OS_BootWithRomHeaderFromFIRM( ROM_Header* rom_header ) OS_Terminate(); } #endif // FIRM_USE_SDK_KEYS +#endif REBOOT_Execute(entry, wram_reg, mem_list, code_buf, stack_top, target, scfg, jtag); OS_Terminate(); } diff --git a/build/nandfirm/sdmc-launcher/ARM7/main.c b/build/nandfirm/sdmc-launcher/ARM7/main.c index e248beeb..ca8bae55 100644 --- a/build/nandfirm/sdmc-launcher/ARM7/main.c +++ b/build/nandfirm/sdmc-launcher/ARM7/main.c @@ -33,7 +33,7 @@ PRINT_MEMORY_ADDR `ƁÃAhXSPrintfs܂(̃t@Ĉ) FINALROMłłR[hĉŒӂĂB */ -#define PRINT_MEMORY_ADDR 0x02000600 +//#define PRINT_MEMORY_ADDR 0x02FFC800 #ifdef PROFILE_ENABLE diff --git a/build/nandfirm/sdmc-launcher/ARM9/main.c b/build/nandfirm/sdmc-launcher/ARM9/main.c index e9f1fd50..fdca66e0 100644 --- a/build/nandfirm/sdmc-launcher/ARM9/main.c +++ b/build/nandfirm/sdmc-launcher/ARM9/main.c @@ -16,10 +16,21 @@ *---------------------------------------------------------------------------*/ #include -#ifndef FIRM_USE_TWLSDK_KEYS -#define RSA_KEY_ADDR OSi_GetFromFirmAddr()->rsa_pubkey[4] // Ǘ.xlsQ -#else #define RSA_KEY_ADDR rsa_key + +#ifndef FIRM_USE_TWLSDK_KEYS +static const u8 rsa_key[128] = +{ + 0xC7, 0x94, 0x50, 0x00, 0x3A, 0xE1, 0x0E, 0x6C, 0xA8, 0xD1, 0xC0, 0x2D, 0x77, 0xB7, 0x6D, 0xBC, + 0x31, 0xDB, 0x12, 0x08, 0x09, 0x0D, 0x2A, 0xE8, 0xC9, 0x1A, 0x2B, 0x6E, 0x6C, 0x85, 0x78, 0xD7, + 0x46, 0x50, 0x05, 0xB5, 0xCC, 0x3B, 0xEC, 0xBA, 0xF4, 0xDE, 0xC2, 0x13, 0x13, 0xBE, 0x67, 0xEE, + 0x85, 0x19, 0xEB, 0x62, 0xB3, 0x5C, 0x09, 0xA8, 0x54, 0x44, 0x26, 0x85, 0x25, 0xEA, 0xE5, 0x85, + 0xD1, 0xB5, 0xCE, 0xA0, 0xFF, 0x6B, 0x61, 0xCA, 0x94, 0xC1, 0x67, 0xBE, 0xC0, 0x7E, 0x3B, 0xFF, + 0x12, 0x9B, 0x79, 0xDB, 0xAC, 0xD3, 0x5A, 0x3F, 0x14, 0x37, 0x49, 0xA8, 0x7C, 0x2F, 0x07, 0xF4, + 0x8B, 0xA9, 0x8B, 0x8D, 0xB2, 0x60, 0xA5, 0xD5, 0x64, 0xEE, 0xCF, 0x3F, 0x32, 0xEE, 0x77, 0xAC, + 0x27, 0x75, 0x2B, 0x04, 0xD7, 0x26, 0xA8, 0x8A, 0x55, 0x2A, 0x76, 0xE5, 0x68, 0x80, 0x57, 0x85 +}; +#else static const u8 rsa_key[128] = { 0xAC, 0x93, 0xBB, @@ -56,7 +67,7 @@ static SVCSignHeapContext acPool; PRINT_MEMORY_ADDR `ƁÃAhXSPrintfs܂(̃t@Ĉ) FINALROMłłR[hĉŒӂĂB */ -#define PRINT_MEMORY_ADDR 0x02000200 +//#define PRINT_MEMORY_ADDR 0x02FFC000 //#ifdef SDK_FINALROM // FINALROMŖ //#undef PROFILE_ENABLE diff --git a/docs/鍵管理.xls b/docs/鍵管理.xls index 22bec3e31966066b8ea3db9c269fc68f01b7ce05..4b6620b0f6f4f9e97082faccd43aea9d124c125d 100644 GIT binary patch delta 704 zcmZutOK1~O6g@A=Op}<5)tE4L(k7XjGzFVHi|wLDQo)6SU`<^4L8ytf8Vra;3OE445-R%mbaOnC zFXWsA6u7Vf%D_Kl*Rk~2`HA4+nd#iLK)*wCBgio?f5^{Fd@Mi74{}y6a?dqYw24zHM!#vvC7##{ug6k2)~Q-5SaRvpKh=&a9(s zg|q9Z7VfUP{Lm?p3GE+l&J9)$JM5@a4K>;APIst@im}Na=QjJ9J!oJ6-~E8srO|jM z7OJ3x3P%YVKSZ-LJ;;=)KilhTaCe7whUi9in-*n0`$m*QQD{Eft3KTc^yTQcS+P#Y e+D2;Kq23;Rts-#5csXLd8*DShN9*Tsi}(XL$(i{vdA;w>5k(4QpkXJxsA4V1896V1NLxOT zuh=iJFR?E<1m30at8w(R6jY*u<5sA(Zku*)vk!aGi}!Mx_81Rq8=#tQayuupoVqWI za+P|FbSmleR^Vf;$Vc*-{KDOya0J&DTzd-?`;*ZqVnL|exX!=x@@ye^_{LP%lz*fA zb(=OwMB_e{k9gsu^{7c-V`J)C6L6Vw@r+&`;${q(;3}6|>AN*bk;H9b+Ovtff^w-Y z(L~G1Fg;F%Xesqp4AQ;kaWO2fTjm&GaSHygwVoiVfGB)u@l#W1zE4AuQY06ZOP zahiMlC5@@io^3hc&6XGHd8`^7che0H4Y<_k&vlqPa{WO}nk0m{2q{^N6h|yR_qqsKz_4e4ghE&{Zp` u2l+O@e?7?3G@7?M)Ym(JPWzjshi+v)Xp`}gpB2aKl}vqHl