微修正

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@475 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yutaka 2008-01-16 09:48:34 +00:00
parent 707907ef2d
commit 1b8ad74573
8 changed files with 168 additions and 45 deletions

View File

@ -35,6 +35,11 @@
*/
#define PRINT_MEMORY_ADDR 0x02000600
/*
*/
//#define USE_IDLE_THREAD
#ifdef PROFILE_ENABLE
#define PROFILE_MAX 16
@ -68,6 +73,25 @@ extern void* SDNandContext; /* NAND
static ROM_Header* const rh= (ROM_Header*)HW_TWL_ROM_HEADER_BUF;
#ifdef USE_IDLE_THREAD
static OSThread idleThread;
static u64 idleStack[32];
static void IdleThread(void* arg)
{
#pragma unused(arg)
OS_EnableInterrupts();
while (1)
{
OS_Halt();
}
}
static void CreateIdleThread(void)
{
OS_CreateThread(&idleThread, IdleThread, NULL, &idleStack[32], sizeof(idleStack), OS_THREAD_PRIORITY_MAX);
OS_WakeupThreadDirect(&idleThread);
}
#endif
/***************************************************************
PreInit
@ -102,6 +126,23 @@ static void PreInit(void)
*/
}
/***************************************************************
PostInit
***************************************************************/
static void PostInit(void)
{
// PMICの設定 for old version
PM_InitFIRM();
// AESの初期化
AES_Init(); // for encrypted NAND
#ifdef USE_IDLE_THREAD
// アイドルスレッドの作成
CreateIdleThread();
#endif
}
/***************************************************************
EraseAll
@ -139,7 +180,7 @@ void TwlSpMain( void )
PUSH_PROFILE();
SetDebugLED(++step); // 0x83
PM_InitFIRM();
PostInit();
// 2: after PM_InitFIRM
PUSH_PROFILE();
@ -160,21 +201,12 @@ void TwlSpMain( void )
PM_BackLightOn( FALSE );
PXI_RecvID();
SetDebugLED(0x01);
PXI_RecvID();
SetDebugLED(0x02);
if ( PXI_RecvID() != FIRM_PXI_ID_SET_PATH )
{
OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_SET_PATH).\n");
goto end;
}
#ifdef USE_IDLE_THREAD
CreateIdleThread();
#endif
// 4: after PXI
PUSH_PROFILE();
SetDebugLED(++step); // 0x86

View File

@ -221,13 +221,11 @@ void TwlMain( void )
#endif
// 1: after PXI
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
PostInit();
// 2: after PostInit
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
STD_CopyString((char*)HW_TWL_FS_BOOT_SRL_PATH_BUF, MENU_FILE);

View File

@ -35,6 +35,11 @@
*/
#define PRINT_MEMORY_ADDR 0x02000600
/*
*/
//#define USE_IDLE_THREAD
#ifdef PROFILE_ENABLE
#define PROFILE_MAX 16
@ -68,6 +73,25 @@ extern void* SDNandContext; /* NAND
static ROM_Header* const rh= (ROM_Header*)HW_TWL_ROM_HEADER_BUF;
#ifdef USE_IDLE_THREAD
static OSThread idleThread;
static u64 idleStack[32];
static void IdleThread(void* arg)
{
#pragma unused(arg)
OS_EnableInterrupts();
while (1)
{
OS_Halt();
}
}
static void CreateIdleThread(void)
{
OS_CreateThread(&idleThread, IdleThread, NULL, &idleStack[32], sizeof(idleStack), OS_THREAD_PRIORITY_MAX);
OS_WakeupThreadDirect(&idleThread);
}
#endif
/***************************************************************
PreInit
@ -102,6 +126,23 @@ static void PreInit(void)
*/
}
/***************************************************************
PostInit
***************************************************************/
static void PostInit(void)
{
// PMICの設定 for old version
PM_InitFIRM();
// AESの初期化
AES_Init(); // for encrypted NAND
#ifdef USE_IDLE_THREAD
// アイドルスレッドの作成
CreateIdleThread();
#endif
}
/***************************************************************
EraseAll
@ -139,7 +180,7 @@ void TwlSpMain( void )
PUSH_PROFILE();
SetDebugLED(++step); // 0x83
PM_InitFIRM();
PostInit();
// 2: after PM_InitFIRM
PUSH_PROFILE();
@ -160,21 +201,12 @@ void TwlSpMain( void )
PM_BackLightOn( FALSE );
PXI_RecvID();
SetDebugLED(0x01);
PXI_RecvID();
SetDebugLED(0x02);
if ( PXI_RecvID() != FIRM_PXI_ID_SET_PATH )
{
OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_SET_PATH).\n");
goto end;
}
#ifdef USE_IDLE_THREAD
CreateIdleThread();
#endif
// 4: after PXI
PUSH_PROFILE();
SetDebugLED(++step); // 0x86

View File

@ -218,13 +218,11 @@ void TwlMain( void )
#endif
// 1: after PXI
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
PostInit();
// 2: after PostInit
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
if ( !FS_ResolveSrl( MENU_TITLE_ID ) )
{

View File

@ -36,6 +36,11 @@
*/
#define PRINT_MEMORY_ADDR 0x02000600
/*
*/
//#define USE_IDLE_THREAD
#ifdef PROFILE_ENABLE
#define PROFILE_MAX 16
@ -68,6 +73,25 @@ extern void* SDNandContext; /* NAND
static ROM_Header* const rh= (ROM_Header*)HW_TWL_ROM_HEADER_BUF;
#ifdef USE_IDLE_THREAD
static OSThread idleThread;
static u64 idleStack[32];
static void IdleThread(void* arg)
{
#pragma unused(arg)
OS_EnableInterrupts();
while (1)
{
OS_Halt();
}
}
static void CreateIdleThread(void)
{
OS_CreateThread(&idleThread, IdleThread, NULL, &idleStack[32], sizeof(idleStack), OS_THREAD_PRIORITY_MAX);
OS_WakeupThreadDirect(&idleThread);
}
#endif
/***************************************************************
PreInit
@ -102,6 +126,23 @@ static void PreInit(void)
*/
}
/***************************************************************
PostInit
***************************************************************/
static void PostInit(void)
{
// PMICの設定 for old version
PM_InitFIRM();
// AESの初期化
AES_Init(); // for encrypted NAND
#ifdef USE_IDLE_THREAD
// アイドルスレッドの作成
CreateIdleThread();
#endif
}
/***************************************************************
EraseAll
@ -137,8 +178,7 @@ void TwlSpMain( void )
PUSH_PROFILE();
SetDebugLED(++step); // 0x83
PM_InitFIRM();
AES_Init();
PostInit();
// 2: after PM_InitFIRM
PUSH_PROFILE();
@ -159,11 +199,6 @@ void TwlSpMain( void )
PM_BackLightOn( FALSE );
PXI_RecvID();
SetDebugLED(0x01);
PXI_RecvID();
SetDebugLED(0x02);
// 4:
PUSH_PROFILE();
SetDebugLED(++step); // 0x86

View File

@ -221,13 +221,11 @@ void TwlMain( void )
#endif
// 1: after PXI
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
PostInit();
// 2: after PostInit
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
if ( !FS_ResolveSrl( MENU_TITLE_ID ) )
{

View File

@ -35,6 +35,11 @@
*/
#define PRINT_MEMORY_ADDR 0x02000600
/*
*/
//#define USE_IDLE_THREAD
#ifdef PROFILE_ENABLE
#define PROFILE_MAX 16
@ -68,6 +73,25 @@ extern void* SDNandContext; /* NAND
static ROM_Header* const rh= (ROM_Header*)HW_TWL_ROM_HEADER_BUF;
#ifdef USE_IDLE_THREAD
static OSThread idleThread;
static u64 idleStack[32];
static void IdleThread(void* arg)
{
#pragma unused(arg)
OS_EnableInterrupts();
while (1)
{
OS_Halt();
}
}
static void CreateIdleThread(void)
{
OS_CreateThread(&idleThread, IdleThread, NULL, &idleStack[32], sizeof(idleStack), OS_THREAD_PRIORITY_MAX);
OS_WakeupThreadDirect(&idleThread);
}
#endif
/***************************************************************
PreInit
@ -102,6 +126,23 @@ static void PreInit(void)
*/
}
/***************************************************************
PostInit
***************************************************************/
static void PostInit(void)
{
// PMICの設定 for old version
PM_InitFIRM();
// AESの初期化
AES_Init(); // for encrypted NAND
#ifdef USE_IDLE_THREAD
// アイドルスレッドの作成
CreateIdleThread();
#endif
}
/***************************************************************
EraseAll
@ -139,7 +180,7 @@ void TwlSpMain( void )
PUSH_PROFILE();
SetDebugLED(++step); // 0x83
PM_InitFIRM();
PostInit();
// 2: after PM_InitFIRM
PUSH_PROFILE();
@ -160,21 +201,12 @@ void TwlSpMain( void )
PM_BackLightOn( FALSE );
PXI_RecvID();
SetDebugLED(0x01);
PXI_RecvID();
SetDebugLED(0x02);
if ( PXI_RecvID() != FIRM_PXI_ID_SET_PATH )
{
OS_TPrintf("PXI_RecvID() was received invalid value (!=FIRM_PXI_ID_SET_PATH).\n");
goto end;
}
#ifdef USE_IDLE_THREAD
CreateIdleThread();
#endif
// 4: after PXI
PUSH_PROFILE();
SetDebugLED(++step); // 0x86

View File

@ -225,13 +225,11 @@ void TwlMain( void )
#endif
// 1: after PXI
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
PostInit();
// 2: after PostInit
PUSH_PROFILE();
PXI_NotifyID( FIRM_PXI_ID_NULL );
switch ( PAD_Read() & PAD_KEYPORT_MASK )
{