1.HWNormalInfoのカメラ情報書き込みに対応。

2.Nandのshared2ディレクトリをパーティション1から0に移動。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@904 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
kamikawa 2008-03-18 12:06:30 +00:00
parent 261bdc04c7
commit 863e8fb0b8
3 changed files with 70 additions and 30 deletions

View File

@ -28,15 +28,35 @@
*---------------------------------------------------------------------------*/
// クリーンアップ実行時に
// 擬似フォーマットで消去しないタイトルを
// TitleProperty (TitleID Hiの下位16bitのビットで指定します。
// どれか1つでもビットが立っていれば消去の対象から外します。
#define PROTECT_TITLE_PROPERTY (TITLE_ID_HI_APP_TYPE_MASK)
#define DIRECTORY_DEPTH_MAX 16 // ディレクトリの深さの最大NANDの正規構成としては最大6
#define TITLE_ID_HI_SIZE 8
#define TITLE_LIST_MAX 256
#define CLEAR_DATA_SIZE 256
// 擬似フォーマット実行時に
// 指定ディレクトリ以下は全て消去されます。
// 指定ディレクトリ自体は残ります
// 指定ディレクトリ自体は残ります
static const char* sDeleteDirectoryList[] =
{
"nand:/tmp"
};
// クリーンアップ実行時に
// 擬似フォーマット実行時に
// 指定ディレクトリ以下のNonProtectedなタイトルは全て消去されます。
// 指定ディレクトリ自体は残ります。
static const char* sDeleteNonProtecedDirectoryList[] =
{
"nand:/title",
"nand:/ticket",
"nand:/import"
};
// 擬似フォーマット実行時に
// 指定ファイルは0xffでFillされます。
static const char* sFillFileList[] =
{
@ -44,19 +64,6 @@ static const char* sFillFileList[] =
"nand:/shared1/TWLCFG1.dat"
};
// クリーンアップで消去しないタイトルを
// TitleProperty (TitleID Hiの下位16bitのビットで指定します。
// どれか1つでもビットが立っていれば消去の対象から外します。
#define PROTECT_TITLE_PROPERTY (TITLE_ID_HI_APP_TYPE_MASK)
#define DIRECTORY_DEPTH_MAX 16 // ディレクトリの深さの最大NANDの正規構成としては最大6
#define TITLE_PATH "nand:/title"
#define TICKET_PATH "nand:/ticket"
#define IMPORT_PATH "nand:/import"
#define TITLE_ID_HI_SIZE 8
#define TITLE_LIST_MAX 256
#define CLEAR_DATA_SIZE 256
static const u8 sClearData[CLEAR_DATA_SIZE] =
{
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
@ -102,7 +109,7 @@ static void PrintFile(s32 depth, const char* path);
/*---------------------------------------------------------------------------*
Name: NAMUT_Format
Description: NANDのクリーンアップ
Description: NANDの擬似フォーマット
Arguments: None
@ -121,7 +128,7 @@ BOOL NAMUT_Format(void)
ret &= NAMUTi_ClearSavedataAll(TRUE);
// 指定ファイルを0xffでクリアします
for (i=0; i<sizeof(sFillFileList)/sizeof(char*); i++)
for (i=0; i<sizeof(sFillFileList)/sizeof(sFillFileList[0]); i++)
{
ret &= NAMUTi_FillFile(sFillFileList[i]);
}
@ -206,10 +213,12 @@ static BOOL NAMUTi_DeleteNandDirectory(const char *path)
static BOOL NAMUTi_DeleteNonprotectedTitle(void)
{
BOOL ret = TRUE;
int i;
ret &= NAMUTi_DeleteNonprotectedTitleEntity(TITLE_PATH);
ret &= NAMUTi_DeleteNonprotectedTitleEntity(TICKET_PATH);
ret &= NAMUTi_DeleteNonprotectedTitleEntity(IMPORT_PATH);
for (i=0; i<sizeof(sDeleteNonProtecedDirectoryList)/sizeof(sDeleteNonProtecedDirectoryList[0]); i++)
{
ret &= NAMUTi_DeleteNonprotectedTitleEntity(sDeleteNonProtecedDirectoryList[i]);
}
return ret;
}

View File

@ -295,22 +295,53 @@ void HWI_ModifyLanguage( u8 region )
*---------------------------------------------------------------------------*/
BOOL HWI_WriteHWNormalInfoFile( void )
{
BOOL isWrite = TRUE;
const char* CAMERA_VOLATILE_INFO_PATH = "rom:/data/camera_volatile_info.bin";
LCFGTWLHWNormalInfo Info;
FSFile file;
LCFGReadResult result;
BOOL open_is_ok;
BOOL read_is_ok;
result = LCFGi_THW_ReadNormalInfo();
if( result != LCFG_TSF_READ_RESULT_SUCCEEDED ) {
if( !LCFGi_THW_RecoveryNormalInfo( result ) ) {
OS_TPrintf( "HW Normal Info Recovery failed.\n" );
isWrite = FALSE;
return FALSE;
}
}
if( isWrite &&
!LCFGi_THW_WriteNormalInfo() ) {
OS_TPrintf( "HW Normal Info Write failed.\n" );
Info.rtcAdjust = LCFG_THW_GetRTCAdjust();
// ROMファイルオープン(カメラ情報)
FS_InitFile(&file);
open_is_ok = FS_OpenFile(&file, CAMERA_VOLATILE_INFO_PATH);
if (!open_is_ok)
{
OS_Printf("FS_OpenFile(\"%s\") ... ERROR!\n", CAMERA_VOLATILE_INFO_PATH);
return FALSE;
}
return isWrite;
// ROMファイルリード
read_is_ok = FS_ReadFile( &file, Info.camera, (s32)sizeof( Info.camera ) );
if (!read_is_ok)
{
OS_Printf("FS_ReadFile(\"%s\") ... ERROR!\n", CAMERA_VOLATILE_INFO_PATH);
FS_CloseFile(&file);
return FALSE;
}
FS_FlushFile(&file);
// ROMファイルクローズ
FS_CloseFile(&file);
if (!LCFGi_THW_WriteNormalInfoDirect( &Info ))
{
OS_TPrintf( "HW Normal Info Write failed.\n" );
return FALSE;
}
return TRUE;
}
/*---------------------------------------------------------------------------*

View File

@ -74,6 +74,7 @@ static const char *s_pDirList0[] = {
(const char *)"nand:/title",
(const char *)"nand:/ticket",
(const char *)"nand:/shared1",
(const char *)"nand:/shared2",
(const char *)"nand:/import",
(const char *)"nand:/tmp",
NULL,
@ -81,9 +82,8 @@ static const char *s_pDirList0[] = {
static const char *s_pDirList1[] = {
(const char *)"nand2:/photo",
(const char *)"nand2:/shared2",
NULL,
};
};
/*---------------------------------------------------------------------------*
àŠÖ<EFBFBD><EFBFBD>錾