From 2c5239e87d036f8f0566cc8cbf5332a3e9a80b30 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Wed, 9 Apr 2008 01:57:17 +0000 Subject: [PATCH] =?UTF-8?q?(=E6=9B=B4=E6=96=B0:Akabane=20Jumpei)=20?= =?UTF-8?q?=E3=83=BB=E3=82=B9=E3=83=AD=E3=83=83=E3=83=88=E3=81=AE=E7=8F=BE?= =?UTF-8?q?=E5=9C=A8=E3=81=AE=E3=83=A2=E3=83=BC=E3=83=89=E3=82=92=E8=BF=94?= =?UTF-8?q?=E3=81=99=E9=96=A2=E6=95=B0=E3=82=92=E8=BF=BD=E5=8A=A0=20?= =?UTF-8?q?=E3=83=BB=E3=82=B9=E3=83=AD=E3=83=83=E3=83=88=E9=9B=BB=E6=BA=90?= =?UTF-8?q?ON=E9=96=A2=E6=95=B0=E4=BF=AE=E6=AD=A3=20=E3=83=BB=E3=82=BD?= =?UTF-8?q?=E3=83=BC=E3=82=B9=E3=81=A1=E3=82=87=E3=81=A3=E3=81=A8=E6=95=B4?= =?UTF-8?q?=E7=90=86?= 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@1087 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 105 ++++++++++++------ 1 file changed, 68 insertions(+), 37 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index b4d6a4a7..3bef7625 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -55,6 +55,7 @@ static BOOL IsSwap(void); static u32 GetMcSlotShift(void); static u32 GetMcSlotMask(void); +static u32 GetMcSlotMode(void); static void SetMcSlotMode(u32 mode); static BOOL CmpMcSlotMode(u32 mode); @@ -671,21 +672,23 @@ void* HOTSW_GetRomEmulationBuffer(void) return &s_romEmuInfo; } -/* ----------------------------------------------------------------- - * HOTSWi_IsRunOnDebugger関数 - * - * ISデバッガ上で動作しているか? - * ----------------------------------------------------------------- */ + +/*---------------------------------------------------------------------------* + Name: HOTSWi_IsRunOnDebugger + + Description: ISデバッガ上で動作しているか? + *---------------------------------------------------------------------------*/ BOOL HOTSWi_IsRunOnDebugger(void) { return debuggerFlg; } -/* ----------------------------------------------------------------- - * HOTSWi_IsRomEmulation関数 - * - * ROMをエミュレーションしているか? - * ----------------------------------------------------------------- */ + +/*---------------------------------------------------------------------------* + Name: HOTSWi_IsRomEmulation + + Description: ROMをエミュレーションしているか? + *---------------------------------------------------------------------------*/ BOOL HOTSWi_IsRomEmulation(void) { return debuggerFlg && @@ -696,13 +699,14 @@ BOOL HOTSWi_IsRomEmulation(void) #endif } -/* ----------------------------------------------------------------- - * LoadBannerData関数 - * - * バナーデータを読み込む - * - * 注:一度カードブートしてゲームモードになってから呼び出してください - * ----------------------------------------------------------------- */ + +/*---------------------------------------------------------------------------* + Name: LoadBannerData + + Description: バナーデータを読み込む + + 注:ゲームモードになってから呼び出してください + *---------------------------------------------------------------------------*/ static HotSwState LoadBannerData(void) { BOOL state; @@ -895,13 +899,14 @@ static HotSwState CheckCardAuthCode(void) return retval; } -/* ----------------------------------------------------------------- - * HOTSW_SetBootSegmentBuffer関数 - * - * Boot Segment バッファの指定 - * - * 注:カードブート処理中は呼び出さないようにする - * ----------------------------------------------------------------- */ + +/*---------------------------------------------------------------------------* + Name: HOTSW_SetBootSegmentBuffer + + Description: Boot Segment バッファの指定 + + 注:カードブート処理中は呼び出さないようにする + *---------------------------------------------------------------------------*/ void HOTSW_SetBootSegmentBuffer(void* buf, u32 size) { SDK_ASSERT(size > BOOT_SEGMENT_SIZE); @@ -915,13 +920,14 @@ void HOTSW_SetBootSegmentBuffer(void* buf, u32 size) MI_CpuClear8(s_pBootSegBuffer, size); } -/* ----------------------------------------------------------------- - * HOTSW_SetSecureSegmentBuffer関数 - * - * Secure Segment バッファの指定 - * - * 注:カードブート処理中は呼び出さないようにする - * ----------------------------------------------------------------- */ + +/*---------------------------------------------------------------------------* + Name: HOTSW_SetSecureSegmentBuffer + + Description: Secure Segment バッファの指定 + + 注:カードブート処理中は呼び出さないようにする + *---------------------------------------------------------------------------*/ void HOTSW_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size) { SDK_ASSERT(size > SECURE_SEGMENT_SIZE); @@ -1044,11 +1050,12 @@ static HotSwState DecryptObjectFile(void) return retval; } -/* ----------------------------------------------------------------- - * LockHotSwRsc関数 - * - * 共有ワークのリソースの排他制御用 lockを行う - * ----------------------------------------------------------------- */ + +/*---------------------------------------------------------------------------* + Name: LockHotSwRsc + + Description: 共有ワークのリソースの排他制御用 lockを行う + *---------------------------------------------------------------------------*/ static void LockHotSwRsc(OSLockWord* word) { while(OS_TryLockByWord( s_RscLockID, word, NULL ) != OS_LOCK_SUCCESS){ @@ -1183,6 +1190,21 @@ static BOOL CmpMcSlotMode(u32 mode) } +/*---------------------------------------------------------------------------* + Name: GetMcSlotMode + + Description: スロットの現在のモードを返す + *---------------------------------------------------------------------------*/ +static u32 GetMcSlotMode(void) +{ +#ifndef DEBUG_USED_CARD_SLOT_B_ + return (reg_MI_MC1 & GetMcSlotMask()) >> GetMcSlotShift(); +#else + return (reg_MI_MC1 & GetMcSlotMask()) << GetMcSlotShift(); +#endif +} + + /*---------------------------------------------------------------------------* Name: McPowerOn @@ -1198,7 +1220,7 @@ static void McPowerOn(void) if(CmpMcSlotMode(SLOT_STATUS_MODE_00) == TRUE){ // [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。 // VDDの安定期間待ち -// OS_Sleep(100); + OS_Sleep(100); // SCFG_MC1 の Slot Status の M1,M0 を 01 にする SetMcSlotMode(SLOT_STATUS_MODE_01); @@ -1245,6 +1267,7 @@ static void McPowerOff(void) } } + /*---------------------------------------------------------------------------* Name: HOTSWi_TurnCardPowerOn @@ -1291,6 +1314,7 @@ void HOTSWi_TurnCardPowerOn(u32 slot) } } + /*---------------------------------------------------------------------------* Name: SetMCSCR @@ -1322,6 +1346,7 @@ static void SetMCSCR(void) reg_HOTSW_MCCNT1 = SCR_MASK; } + /*---------------------------------------------------------------------------* Name: McThread @@ -1445,6 +1470,7 @@ static void McThread(void *arg) } // while loop } + /*---------------------------------------------------------------------------* Name: InterruptCallbackCard @@ -1775,6 +1801,11 @@ static BOOL CheckExtArm9HashValue(void) return SVC_CompareSHA1( sha1data, s_cbData.pBootSegBuf->rh.s.main_ltd_static_digest ); } + + + + + // ************************************************************************** // // Debug用表示関数