From 160586b6f50970d28ed4b47e40521a0c0e7211f8 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Mon, 28 Jul 2008 11:12:15 +0000 Subject: [PATCH] =?UTF-8?q?(=E6=9B=B4=E6=96=B0=EF=BC=9AAkabane=20Jumpei)?= =?UTF-8?q?=20=E3=83=BB=E3=82=AB=E3=83=BC=E3=83=89=E3=81=AE=E8=AA=AD?= =?UTF-8?q?=E3=81=BF=E8=BE=BC=E3=81=BF=E3=82=92=E3=81=97=E3=81=9F=E3=82=89?= =?UTF-8?q?=E3=80=81=E3=81=A9=E3=82=93=E3=81=AA=E5=A0=B4=E5=90=88=E3=81=A7?= =?UTF-8?q?=E3=82=82=E3=83=95=E3=83=A9=E3=82=B0=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=20=E3=83=BB=E3=82=AB=E3=83=BC=E3=83=89=E3=81=8C=E6=8A=9C?= =?UTF-8?q?=E3=81=91=E3=81=9F=E6=99=82=E3=80=81Secure2=E3=83=90=E3=83=83?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=92=E3=82=AF=E3=83=AA=E3=82=A2=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3=20?= =?UTF-8?q?=E3=83=BB=E7=8A=B6=E6=85=8B=E5=9B=9E=E5=BE=A9=E3=82=B9=E3=83=AC?= =?UTF-8?q?=E3=83=83=E3=83=89=E3=81=AE=E3=82=B9=E3=83=AA=E3=83=BC=E3=83=97?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E3=82=92=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@2013 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index df6672b8..1ccb9c9a 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -153,7 +153,6 @@ static SYSMRomEmuInfo s_romEmuInfo; static BOOL s_debuggerFlg; static BOOL s_isPulledOut = TRUE; -static BOOL s_isHotSwBusy = FALSE; static BOOL s_pollingThreadSleepFlg = FALSE; // HMACSHA1の鍵 @@ -344,8 +343,6 @@ static HotSwState LoadCardData(void) HotSwState state = HOTSW_SUCCESS; u32 romMode = HOTSW_ROM_MODE_NULL; - s_isHotSwBusy = TRUE; - // カードのロック CARD_LockRom(s_CardLockID); @@ -582,8 +579,6 @@ end: // カードのロック開放(※ロックIDは開放せずに持ち続ける) CARD_UnlockRom(s_CardLockID); - s_isHotSwBusy = FALSE; - return retval; } @@ -1556,8 +1551,6 @@ static void HotSwThread(void *arg) HotSwState retval; HotSwMessageForArm7 *msg; - - static BOOL card_exist = FALSE; while(1){ OS_ReceiveMessage(&HotSwThreadData.hotswQueue, (OSMessage *)&msg, OS_MESSAGE_BLOCK); @@ -1613,23 +1606,20 @@ static void HotSwThread(void *arg) if(HOTSW_IsCardExist()){ if(!s_isPulledOut){ if(GetMcSlotMode() == SLOT_STATUS_MODE_10){ - if(!card_exist){ - card_exist = TRUE; - - LockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); + LockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); - SYSMi_GetWork()->flags.hotsw.isExistCard = TRUE; - SYSMi_GetWork()->flags.hotsw.isCardStateChanged = TRUE; - SYSMi_GetWork()->flags.hotsw.isCardLoadCompleted = TRUE; + SYSMi_GetWork()->flags.hotsw.isExistCard = TRUE; + SYSMi_GetWork()->flags.hotsw.isCardStateChanged = TRUE; + SYSMi_GetWork()->flags.hotsw.isCardLoadCompleted = TRUE; #ifdef USE_WRAM_LOAD - SYSMi_GetWork()->flags.hotsw.isCardGameMode = TRUE; + SYSMi_GetWork()->flags.hotsw.isCardGameMode = TRUE; #endif - UnlockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); + UnlockHotSwRsc(&SYSMi_GetWork()->lockCardRsc); #ifdef USE_WRAM_LOAD - SendPxiMessage(HOTSW_CHANGE_GAMEMODE); + SendPxiMessage(HOTSW_CHANGE_GAMEMODE); #endif - HOTSW_PutString("ok!\n"); - } + HOTSW_PutString("ok!\n"); + break; } } @@ -1653,8 +1643,6 @@ static void HotSwThread(void *arg) // カードが抜けてたら else{ - card_exist = FALSE; - #ifdef USE_WRAM_LOAD SendPxiMessage(HOTSW_CARD_PULLOUT); #endif @@ -1665,6 +1653,7 @@ static void HotSwThread(void *arg) MI_CpuClearFast(s_pBootSegBuffer, s_BootSegBufSize); MI_CpuClearFast(s_pSecureSegBuffer, s_SecureSegBufSize); + MI_CpuClearFast(s_pSecure2SegBuffer, s_Secure2SegBufSize); MI_CpuClearFast((u32 *)SYSM_CARD_BANNER_BUF, sizeof(TWLBannerFile)); s_isPulledOut = TRUE; @@ -2006,7 +1995,7 @@ static void MonitorThread(void *arg) count++; } - while(s_isHotSwBusy); + while( SYSMi_GetWork()->flags.hotsw.isBusyHotSW ); // ポーリングスレッド抑制フラグが上がってたら、スリープ。抑制フラグが下りたら起床。 if(s_pollingThreadSleepFlg){