From 3cd47380fed9d0f02ea6058c29fd20261fa5c971 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Thu, 11 Sep 2008 00:57:11 +0000 Subject: [PATCH] =?UTF-8?q?=E9=81=95=E3=81=86=E3=82=B9=E3=83=AC=E3=83=83?= =?UTF-8?q?=E3=83=89=E3=81=A7CARD=5FLockRom=E3=81=99=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E3=81=8D=E3=81=AF=E3=80=81=E5=88=A5=E3=81=AELockID=E3=82=92?= =?UTF-8?q?=E4=BD=BF=E3=81=86=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= 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/branches/20080910_debug_dht_phase1@2487 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index f088aa34..ef09ccbe 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -140,6 +140,7 @@ static char encrypt_object_key[] ATTRIBUTE_ALIGN(4) = "encryObj" static u16 s_RscLockID; static u16 s_CardLockID; +static u16 s_PollingLockID; static u16 s_bondingOp; static u32 s_BootSegBufSize, s_SecureSegBufSize, s_Secure2SegBufSize; @@ -263,6 +264,13 @@ void HOTSW_Init(u32 threadPrio) // do nothing } s_CardLockID = (u16)tempLockID; + + // [Debug] + // ポーリングスレッド用のロックIDの取得 + while((tempLockID = OS_GetLockID()) == OS_LOCK_ID_ERROR){ + // do nothing + } + s_PollingLockID = (u16)tempLockID; } // カードの状態監視用スレッドの生成 ( DSテレビ対策 ) @@ -345,7 +353,7 @@ static HotSwState LoadCardData(void) HotSwState retval = HOTSW_SUCCESS; HotSwState state = HOTSW_SUCCESS; u32 romMode = HOTSW_ROM_MODE_NULL; - + // カードのロック CARD_LockRom(s_CardLockID); @@ -594,7 +602,7 @@ end: // カードのロック開放(※ロックIDは開放せずに持ち続ける) CARD_UnlockRom(s_CardLockID); - + return retval; } @@ -997,7 +1005,7 @@ static void ReadCardData(u32 src, u32 dest, u32 size) // カードのアンロック CARD_UnlockRom(s_CardLockID); - + { HotSwPxiMessageForArm9 msg; CardDataReadState retval; @@ -2118,8 +2126,10 @@ static void CheckCardInsert(BOOL cardExist) } // カードは挿さっていて、ランチャーが認識していたらGameモードのID読みをして、抜けてないか調べる else if(cardExist && !s_isPulledOut && !SYSMi_GetWork()->flags.hotsw.isBusyHotSW){ + OS_PutString("GameMode ID Check...\n"); + // カードのロック - CARD_LockRom(s_CardLockID); + CARD_LockRom(s_PollingLockID); ReadIDGame(&s_cbData); @@ -2128,7 +2138,7 @@ static void CheckCardInsert(BOOL cardExist) } // カードのロック開放(※ロックIDは開放せずに持ち続ける) - CARD_UnlockRom(s_CardLockID); + CARD_UnlockRom(s_PollingLockID); } }