From 00ab7bcff2c27dc6e3abf2b6097c5e998dbc6a21 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Thu, 3 Jul 2008 10:36:09 +0000 Subject: [PATCH] =?UTF-8?q?(=E6=9B=B4=E6=96=B0=EF=BC=9AAkabane=20Jumpei)?= =?UTF-8?q?=20=E3=83=BB=E6=B4=BB=E7=B7=9A=E6=8C=BF=E6=8A=9C=E5=87=A6?= =?UTF-8?q?=E7=90=86=E4=B8=AD=E3=80=81isBusyHotSW=E3=83=95=E3=83=A9?= =?UTF-8?q?=E3=82=B0=E3=82=92=E7=AB=8B=E3=81=A6=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E4=BF=AE=E6=AD=A3=E3=80=82=20=E3=83=BBisBusyHotSW?= =?UTF-8?q?=E3=83=95=E3=83=A9=E3=82=B0=E3=82=92=E5=8F=96=E5=BE=97=E3=81=99?= =?UTF-8?q?=E3=82=8BAPI=E3=82=92=E8=BF=BD=E5=8A=A0?= 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@1767 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c | 9 ++++++++- include/sysmenu/hotsw/common/hotsw.h | 3 +++ include/sysmenu/sysmenu_lib/common/sysmenu_work.h | 4 ++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 462634aa..20f9d134 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -1552,6 +1552,8 @@ static void HotSwThread(void *arg) while(1){ OS_ReceiveMessage(&HotSwThreadData.hotswQueue, (OSMessage *)&msg, OS_MESSAGE_BLOCK); + SYSMi_GetWork()->flags.hotsw.isBusyHotSW = TRUE; + if( msg->ctrl == TRUE ) { SYSMi_GetWork()->flags.hotsw.isEnableHotSW = msg->value; s_pollingThreadSleepFlg = msg->value ? FALSE : TRUE; @@ -1580,6 +1582,9 @@ static void HotSwThread(void *arg) ReadCardData(SYSMi_GetWork()->cardReadParam.src, SYSMi_GetWork()->cardReadParam.dest, SYSMi_GetWork()->cardReadParam.size); + + SYSMi_GetWork()->flags.hotsw.isBusyHotSW = FALSE; + continue; } @@ -1652,8 +1657,10 @@ static void HotSwThread(void *arg) break; } - } + } // Card Read while loop + SYSMi_GetWork()->flags.hotsw.is1stCardChecked = TRUE; + SYSMi_GetWork()->flags.hotsw.isBusyHotSW = FALSE; } // while loop } diff --git a/include/sysmenu/hotsw/common/hotsw.h b/include/sysmenu/hotsw/common/hotsw.h index c40833df..6378fb4d 100644 --- a/include/sysmenu/hotsw/common/hotsw.h +++ b/include/sysmenu/hotsw/common/hotsw.h @@ -25,6 +25,9 @@ extern "C" { #define SYSM_HOTSW_ENABLE_ROMEMU #define USE_WRAM_LOAD + +#define HOTSW_isBusyHotSw() SYSMi_GetWork()->flags.hotsw.isBusyHotSW + //#define USE_NEW_DMA // enum ------------------------------------------------------------------- diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_work.h b/include/sysmenu/sysmenu_lib/common/sysmenu_work.h index 3d3f129d..61674106 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_work.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_work.h @@ -116,7 +116,6 @@ typedef struct SYSM_work { vu16 isInspectCard :1; // 検査カードか? vu16 isOnDebugger :1; // デバッガ動作か? vu16 isEnableHotSW :1; // 活線挿抜有効? - vu16 isBusyHotSW :1; // 活線挿抜処理中? vu16 isLoadRomEmuOnly :1; // ROMエミュレーション情報のみロード vu16 isCardLoadCompleted :1; // カードからデータロード完了? vu16 isValidCardBanner :1; // バナーデータ更新? @@ -125,8 +124,9 @@ typedef struct SYSM_work { vu16 isFinalized :1; // HOTSW終了処理完了 vu16 :0; vu8 isCardStateChanged; // カード状態更新フラグ + vu8 isBusyHotSW; // 活線挿抜処理中? }hotsw; - }flags; // 7B + }flags; // 8B u16 cardHeaderCrc16; // カード検出時に算出したROMヘッダCRC16(ARM9側でコピーして使用する側) u16 cardHeaderCrc16_bak; // カード検出時に算出したROMヘッダCRC16(ARM7側ライブラリでダイレクトに書き換わる側)