(更新:Akabane Jumpei)

・スロットの現在のモードを返す関数を追加
・スロット電源ON関数修正
・ソースちょっと整理

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1087 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
(no author) 2008-04-09 01:57:17 +00:00
parent df513bea4c
commit 2c5239e87d

View File

@ -55,6 +55,7 @@
static BOOL IsSwap(void); static BOOL IsSwap(void);
static u32 GetMcSlotShift(void); static u32 GetMcSlotShift(void);
static u32 GetMcSlotMask(void); static u32 GetMcSlotMask(void);
static u32 GetMcSlotMode(void);
static void SetMcSlotMode(u32 mode); static void SetMcSlotMode(u32 mode);
static BOOL CmpMcSlotMode(u32 mode); static BOOL CmpMcSlotMode(u32 mode);
@ -671,21 +672,23 @@ void* HOTSW_GetRomEmulationBuffer(void)
return &s_romEmuInfo; return &s_romEmuInfo;
} }
/* -----------------------------------------------------------------
* HOTSWi_IsRunOnDebugger関数 /*---------------------------------------------------------------------------*
* Name: HOTSWi_IsRunOnDebugger
* ISデバッガ上で動作しているか
* ----------------------------------------------------------------- */ Description: ISデバッガ上で動作しているか
*---------------------------------------------------------------------------*/
BOOL HOTSWi_IsRunOnDebugger(void) BOOL HOTSWi_IsRunOnDebugger(void)
{ {
return debuggerFlg; return debuggerFlg;
} }
/* -----------------------------------------------------------------
* HOTSWi_IsRomEmulation関数 /*---------------------------------------------------------------------------*
* Name: HOTSWi_IsRomEmulation
* ROMをエミュレーションしているか
* ----------------------------------------------------------------- */ Description: ROMをエミュレーションしているか
*---------------------------------------------------------------------------*/
BOOL HOTSWi_IsRomEmulation(void) BOOL HOTSWi_IsRomEmulation(void)
{ {
return debuggerFlg && return debuggerFlg &&
@ -696,13 +699,14 @@ BOOL HOTSWi_IsRomEmulation(void)
#endif #endif
} }
/* -----------------------------------------------------------------
* LoadBannerData関数 /*---------------------------------------------------------------------------*
* Name: LoadBannerData
*
* Description:
*
* ----------------------------------------------------------------- */
*---------------------------------------------------------------------------*/
static HotSwState LoadBannerData(void) static HotSwState LoadBannerData(void)
{ {
BOOL state; BOOL state;
@ -895,13 +899,14 @@ static HotSwState CheckCardAuthCode(void)
return retval; return retval;
} }
/* -----------------------------------------------------------------
* HOTSW_SetBootSegmentBuffer関数 /*---------------------------------------------------------------------------*
* Name: HOTSW_SetBootSegmentBuffer
* Boot Segment
* Description: Boot Segment
*
* ----------------------------------------------------------------- */
*---------------------------------------------------------------------------*/
void HOTSW_SetBootSegmentBuffer(void* buf, u32 size) void HOTSW_SetBootSegmentBuffer(void* buf, u32 size)
{ {
SDK_ASSERT(size > BOOT_SEGMENT_SIZE); SDK_ASSERT(size > BOOT_SEGMENT_SIZE);
@ -915,13 +920,14 @@ void HOTSW_SetBootSegmentBuffer(void* buf, u32 size)
MI_CpuClear8(s_pBootSegBuffer, size); MI_CpuClear8(s_pBootSegBuffer, size);
} }
/* -----------------------------------------------------------------
* HOTSW_SetSecureSegmentBuffer関数 /*---------------------------------------------------------------------------*
* Name: HOTSW_SetSecureSegmentBuffer
* Secure Segment
* Description: Secure Segment
*
* ----------------------------------------------------------------- */
*---------------------------------------------------------------------------*/
void HOTSW_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size) void HOTSW_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size)
{ {
SDK_ASSERT(size > SECURE_SEGMENT_SIZE); SDK_ASSERT(size > SECURE_SEGMENT_SIZE);
@ -1044,11 +1050,12 @@ static HotSwState DecryptObjectFile(void)
return retval; return retval;
} }
/* -----------------------------------------------------------------
* LockHotSwRsc関数 /*---------------------------------------------------------------------------*
* Name: LockHotSwRsc
*  lockを行う
* ----------------------------------------------------------------- */ Description:  lockを行う
*---------------------------------------------------------------------------*/
static void LockHotSwRsc(OSLockWord* word) static void LockHotSwRsc(OSLockWord* word)
{ {
while(OS_TryLockByWord( s_RscLockID, word, NULL ) != OS_LOCK_SUCCESS){ 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 Name: McPowerOn
@ -1198,7 +1220,7 @@ static void McPowerOn(void)
if(CmpMcSlotMode(SLOT_STATUS_MODE_00) == TRUE){ if(CmpMcSlotMode(SLOT_STATUS_MODE_00) == TRUE){
// [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。 // [TODO:]待ち時間は暫定値。金子さんに数値を測定してもらう。
// VDDの安定期間待ち // VDDの安定期間待ち
// OS_Sleep(100); OS_Sleep(100);
// SCFG_MC1 の Slot Status の M1,M0 を 01 にする // SCFG_MC1 の Slot Status の M1,M0 を 01 にする
SetMcSlotMode(SLOT_STATUS_MODE_01); SetMcSlotMode(SLOT_STATUS_MODE_01);
@ -1245,6 +1267,7 @@ static void McPowerOff(void)
} }
} }
/*---------------------------------------------------------------------------* /*---------------------------------------------------------------------------*
Name: HOTSWi_TurnCardPowerOn Name: HOTSWi_TurnCardPowerOn
@ -1291,6 +1314,7 @@ void HOTSWi_TurnCardPowerOn(u32 slot)
} }
} }
/*---------------------------------------------------------------------------* /*---------------------------------------------------------------------------*
Name: SetMCSCR Name: SetMCSCR
@ -1322,6 +1346,7 @@ static void SetMCSCR(void)
reg_HOTSW_MCCNT1 = SCR_MASK; reg_HOTSW_MCCNT1 = SCR_MASK;
} }
/*---------------------------------------------------------------------------* /*---------------------------------------------------------------------------*
Name: McThread Name: McThread
@ -1445,6 +1470,7 @@ static void McThread(void *arg)
} // while loop } // while loop
} }
/*---------------------------------------------------------------------------* /*---------------------------------------------------------------------------*
Name: InterruptCallbackCard Name: InterruptCallbackCard
@ -1775,6 +1801,11 @@ static BOOL CheckExtArm9HashValue(void)
return SVC_CompareSHA1( sha1data, s_cbData.pBootSegBuf->rh.s.main_ltd_static_digest ); return SVC_CompareSHA1( sha1data, s_cbData.pBootSegBuf->rh.s.main_ltd_static_digest );
} }
// ************************************************************************** // **************************************************************************
// //
// Debug用表示関数 // Debug用表示関数