From df73611e3c04f9e67899063cb6c6efcdb5cdb2bd Mon Sep 17 00:00:00 2001 From: nakasima Date: Wed, 5 Mar 2008 06:52:42 +0000 Subject: [PATCH] =?UTF-8?q?HOTSW=E3=82=B9=E3=83=AC=E3=83=83=E3=83=89?= =?UTF-8?q?=E3=81=AE=E5=84=AA=E5=85=88=E5=BA=A6=E3=82=92=E3=82=B3=E3=83=B3?= =?UTF-8?q?=E3=83=9D=E3=83=BC=E3=83=8D=E3=83=B3=E3=83=88=E5=81=B4=E3=81=A7?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E3=80=82?= 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@824 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/components/hyena.TWL/src/main.c | 3 ++- build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c | 6 ++++-- build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 5 ++--- include/sysmenu/hotsw/common/hotsw.h | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/build/components/hyena.TWL/src/main.c b/build/components/hyena.TWL/src/main.c index 452148be..b0ed3d0a 100644 --- a/build/components/hyena.TWL/src/main.c +++ b/build/components/hyena.TWL/src/main.c @@ -57,6 +57,7 @@ #define THREAD_PRIO_SYSMMCU 6 #define THREAD_PRIO_SND 6 #define THREAD_PRIO_FATFS 8 +#define THREAD_PRIO_HOTSW 11 #define THREAD_PRIO_RTC 12 #define THREAD_PRIO_SNDEX 14 #define THREAD_PRIO_FS 15 @@ -217,7 +218,7 @@ TwlSpMain(void) SYSMi_GetWork()->flags.hotsw.isEnableHotSW = 1; } - HOTSW_Init(); + HOTSW_Init(THREAD_PRIO_HOTSW); while (TRUE) { diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c b/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c index 9cf0ce6e..b791efbd 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c @@ -334,13 +334,15 @@ static void PreSendSecureCommand(CardBootData *cbd, u32 *scrambleMask) { // ★ TWL-ROM&NTR-3DM対応 if(cbd->cardType == DS_CARD_TYPE_2){ + u32 latency = (u32)cbd->pBootSegBuf->rh.s.secure_cmd_latency * 0x100; + // MCCNT1 レジスタ設定 reg_HOTSW_MCCNT1 = START_MASK | *scrambleMask | cbd->pBootSegBuf->rh.s.secure_cmd_param; // セキュアコマンド間レイテンシ待ち - OS_Sleep( OS_CPUCYC_TO_MSEC(cbd->pBootSegBuf->rh.s.secure_cmd_latency * 0x100) ); + OS_Sleep( OS_CPUCYC_TO_MSEC(latency) ); } - // ★ NTR-MROM対応 + // ★ TWL-XtraROM&NTR-MROM対応 else{ *scrambleMask |= TRM_MASK; } diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index b0ee3324..6a2eb1f3 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -33,7 +33,6 @@ #define DIGEST_HASH_BLOCK_SIZE_SHA1 (512/8) #define HOTSW_THREAD_STACK_SIZE (1024 + PAGE_SIZE) // スタックサイズ -#define HOTSW_THREAD_PRIO 11 // カード電源ON → ゲームモードのスレッド優先度 #define HOTSW_INSERT_MSG_NUM 16 // 挿し割り込み送信メッセージの数 #define HOTSW_PULLED_MSG_NUM 16 // 抜け割り込み送信メッセージの数 #define HOTSW_CTRL_MSG_NUM 8 // PXI割り込み送信メッセージの数 @@ -179,7 +178,7 @@ static CardBootFunction s_funcTable[] = { Arguments: None. Returns: None. *---------------------------------------------------------------------------*/ -void HOTSW_Init(void) +void HOTSW_Init(u32 threadPrio) { OS_InitTick(); OS_InitThread(); @@ -235,7 +234,7 @@ void HOTSW_Init(void) NULL, s_ctData.stack + HOTSW_THREAD_STACK_SIZE / sizeof(u64), HOTSW_THREAD_STACK_SIZE, - HOTSW_THREAD_PRIO + threadPrio ); // メッセージキューの初期化 diff --git a/include/sysmenu/hotsw/common/hotsw.h b/include/sysmenu/hotsw/common/hotsw.h index 0fe41b19..b4669fc8 100644 --- a/include/sysmenu/hotsw/common/hotsw.h +++ b/include/sysmenu/hotsw/common/hotsw.h @@ -60,7 +60,7 @@ typedef struct HotSwMessage{ // Function prototype ------------------------------------------------------- // 活栓挿抜処理の初期化 -void HOTSW_Init(void); +void HOTSW_Init(u32 threadPrio); // カードの存在判定 BOOL HOTSW_IsCardExist(void);