From b7f941d9d9d04901a216be3339a1a45dd8bad981 Mon Sep 17 00:00:00 2001 From: sato_masaki Date: Fri, 21 Mar 2008 04:01:02 +0000 Subject: [PATCH] =?UTF-8?q?HOTSTART=E6=99=82=E3=81=AB=E3=80=81=E7=84=A1?= =?UTF-8?q?=E7=B7=9A=E3=83=87=E3=83=BC=E3=82=BF=E3=82=BB=E3=82=B0=E3=83=A1?= =?UTF-8?q?=E3=83=B3=E3=83=88=E3=81=8C=E5=A4=B1=E3=82=8F=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=9F=E5=A0=B4=E5=90=88(DS=E3=83=A2=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=8B=E3=82=89=E3=81=AEHW=E3=83=AA=E3=82=BB?= =?UTF-8?q?=E3=83=83=E3=83=88=E3=81=A8=E3=81=8B=E3=80=82)=20=E4=B8=80?= =?UTF-8?q?=E6=99=82=E7=9A=84=E3=81=AAWorkaround=E3=81=A8=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=80=81COLDSTART=E6=89=B1=E3=81=84=E3=81=AB=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4=E3=80=82?= =?UTF-8?q?=20(RC=E7=89=88=E3=83=89=E3=83=A9=E3=82=A4=E3=83=90=E3=81=AEChi?= =?UTF-8?q?p1.1=E3=81=A7=E3=81=AF=E3=80=81Datasegment=E3=81=8C=E3=82=B5?= =?UTF-8?q?=E3=83=9D=E3=83=BC=E3=83=88=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=81=9F=E3=82=81=E3=80=81=E5=B8=B8=E3=81=AB?= =?UTF-8?q?COLD=E6=89=B1=E3=81=84=E3=81=AB=E3=81=AA=E3=82=8A=E3=81=BE?= =?UTF-8?q?=E3=81=99=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@915 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../Launcher/ARM9/src/loadWlanFirm.c | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c index 0b0919b8..44675602 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c @@ -342,14 +342,36 @@ void PrintDigest(u8 *digest) BOOL InstallWlanFirmware(void) { NWMRetCode err; + BOOL isColdStart; pNwmBuf = 0; pFwBuffer = 0; OS_InitMessageQueue(&mesq, mesAry, sizeof(mesAry)/sizeof(mesAry[0])); - + /* HotStart/ColdStartのチェック */ + /* + [TODO:] DSモードからHWリセットされた場合、パラメータ領域の無線DataSegmentは + 失われる。この場合、DataSegmentをセットし直すために、 + NANDからのFW読み直しを行わなければならない。 + TemporallyなWorkaroundとして、この場合はColdStart扱いにしています。 + 初期化時間等の要因を鑑みて、本実装をどうするか検討します。 + */ if (TRUE == SYSMi_GetWork()->flags.common.isHotStart) + { + isColdStart = FALSE; + + // Check integrity of WLAN data segment + if (FALSE == NWMi_CheckFwDataIntegrity()) + { + isColdStart = TRUE; + } + + } else { + isColdStart = TRUE; + } + + if (FALSE == isColdStart) // HOT START { pNwmBuf = SYSM_Alloc( NWM_SYSTEM_BUF_SIZE ); if (!pNwmBuf) { @@ -364,7 +386,7 @@ BOOL InstallWlanFirmware(void) // HotStart NWM_Init(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */ err = NWMi_InstallFirmware(InstallFirmCallback, NULL, 0, FALSE); - } else { + } else { // COLD START s32 flen = 0; char path[256]; u32 offset, length;