HOTSWスレッドの優先度をコンポーネント側で指定できるように。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@824 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
nakasima 2008-03-05 06:52:42 +00:00
parent 898c58c02c
commit df73611e3c
4 changed files with 9 additions and 7 deletions

View File

@ -57,6 +57,7 @@
#define THREAD_PRIO_SYSMMCU 6 #define THREAD_PRIO_SYSMMCU 6
#define THREAD_PRIO_SND 6 #define THREAD_PRIO_SND 6
#define THREAD_PRIO_FATFS 8 #define THREAD_PRIO_FATFS 8
#define THREAD_PRIO_HOTSW 11
#define THREAD_PRIO_RTC 12 #define THREAD_PRIO_RTC 12
#define THREAD_PRIO_SNDEX 14 #define THREAD_PRIO_SNDEX 14
#define THREAD_PRIO_FS 15 #define THREAD_PRIO_FS 15
@ -217,7 +218,7 @@ TwlSpMain(void)
SYSMi_GetWork()->flags.hotsw.isEnableHotSW = 1; SYSMi_GetWork()->flags.hotsw.isEnableHotSW = 1;
} }
HOTSW_Init(); HOTSW_Init(THREAD_PRIO_HOTSW);
while (TRUE) while (TRUE)
{ {

View File

@ -334,13 +334,15 @@ static void PreSendSecureCommand(CardBootData *cbd, u32 *scrambleMask)
{ {
// ★ TWL-ROMNTR-3DM対応 // ★ TWL-ROMNTR-3DM対応
if(cbd->cardType == DS_CARD_TYPE_2){ if(cbd->cardType == DS_CARD_TYPE_2){
u32 latency = (u32)cbd->pBootSegBuf->rh.s.secure_cmd_latency * 0x100;
// MCCNT1 レジスタ設定 // MCCNT1 レジスタ設定
reg_HOTSW_MCCNT1 = START_MASK | *scrambleMask | cbd->pBootSegBuf->rh.s.secure_cmd_param; 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) );
} }
// <20>š NTR-MROMΉž // <20>š TWL-XtraROM<4F>NTR-MROMΉž
else{ else{
*scrambleMask |= TRM_MASK; *scrambleMask |= TRM_MASK;
} }

View File

@ -33,7 +33,6 @@
#define DIGEST_HASH_BLOCK_SIZE_SHA1 (512/8) #define DIGEST_HASH_BLOCK_SIZE_SHA1 (512/8)
#define HOTSW_THREAD_STACK_SIZE (1024 + PAGE_SIZE) // スタックサイズ #define HOTSW_THREAD_STACK_SIZE (1024 + PAGE_SIZE) // スタックサイズ
#define HOTSW_THREAD_PRIO 11 // カード電源ON → ゲームモードのスレッド優先度
#define HOTSW_INSERT_MSG_NUM 16 // 挿し割り込み送信メッセージの数 #define HOTSW_INSERT_MSG_NUM 16 // 挿し割り込み送信メッセージの数
#define HOTSW_PULLED_MSG_NUM 16 // 抜け割り込み送信メッセージの数 #define HOTSW_PULLED_MSG_NUM 16 // 抜け割り込み送信メッセージの数
#define HOTSW_CTRL_MSG_NUM 8 // PXI割り込み送信メッセージの数 #define HOTSW_CTRL_MSG_NUM 8 // PXI割り込み送信メッセージの数
@ -179,7 +178,7 @@ static CardBootFunction s_funcTable[] = {
Arguments: None. Arguments: None.
Returns: None. Returns: None.
*---------------------------------------------------------------------------*/ *---------------------------------------------------------------------------*/
void HOTSW_Init(void) void HOTSW_Init(u32 threadPrio)
{ {
OS_InitTick(); OS_InitTick();
OS_InitThread(); OS_InitThread();
@ -235,7 +234,7 @@ void HOTSW_Init(void)
NULL, NULL,
s_ctData.stack + HOTSW_THREAD_STACK_SIZE / sizeof(u64), s_ctData.stack + HOTSW_THREAD_STACK_SIZE / sizeof(u64),
HOTSW_THREAD_STACK_SIZE, HOTSW_THREAD_STACK_SIZE,
HOTSW_THREAD_PRIO threadPrio
); );
// メッセージキューの初期化 // メッセージキューの初期化

View File

@ -60,7 +60,7 @@ typedef struct HotSwMessage{
// Function prototype ------------------------------------------------------- // Function prototype -------------------------------------------------------
// 活栓挿抜処理の初期化 // 活栓挿抜処理の初期化
void HOTSW_Init(void); void HOTSW_Init(u32 threadPrio);
// カードの存在判定 // カードの存在判定
BOOL HOTSW_IsCardExist(void); BOOL HOTSW_IsCardExist(void);