도와주세요!!
글 수 15,339
2003.08.08 15:50:26 (*.241.146.6)
26432
EZ-X5 CD에서 제공된 arch/arm/kernel/setup.c 파일을 보다가 궁금한 점이 있
어서 질문합니다.
#if defined(CONFIG_ARCH_PXA_EZ_X5)
{
TBootLoaderParam *ptrEzX5Parm = (TBootLoaderParam *)
0xC0000000;;
if( ptrEzX5Parm->MagicNumber == 0x20030702 )
{
printk( "Check ezboot Magic Value [%08X]
",
ptrEzX5Parm->MagicNumber );
if( !strcmp( ptrEzX5Parm->MagicStr, "CMD=" ) )
{
printk( "Check ezboot Check String [%s]
",
ptrEzX5Parm->MagicStr );
printk( "Check ezboot command line [%s]
",
ptrEzX5Parm->CommandLine );
strcat( from, " " );
strcat( from, ptrEzX5Parm->CommandLine );
}
}
}
#endif
이 부분에서요...
(TBootLoaderParam *) 0xC0000000;;
요부분이 궁금합니다. ezboot.x5에서 부트로더의 boot parameter는 아래와 같
이 0xA0000000에 복사한것 같은데...
int GoKernelSingle( void )
{
char buff[] = { 0,0,0,0,0 }; // 명령 커맨드 시험용임
void (*theKernel)(int zero, int arch);
printf( "Starting kernel ...
");
memcpy( (char *) DEFAULT_RAM_KERNEL_ZERO_PAGE, (char *) &
(Cfg.KCmd) , sizeof(TKernelCommandLine) );
theKernel = (void (*)(int, int))DEFAULT_RAM_KERNEL_START;
theKernel( ( long ) 0 , (long) LINUX_MACH_TYPE );
return 0;
}
0xC0000000 에서 TBootLoaderParam 정보를 받아오는 것을 잘 모르겠습니다.
이 주소가 0xA0000000으로 되야하는것 아닌지요...
어서 질문합니다.
#if defined(CONFIG_ARCH_PXA_EZ_X5)
{
TBootLoaderParam *ptrEzX5Parm = (TBootLoaderParam *)
0xC0000000;;
if( ptrEzX5Parm->MagicNumber == 0x20030702 )
{
printk( "Check ezboot Magic Value [%08X]
",
ptrEzX5Parm->MagicNumber );
if( !strcmp( ptrEzX5Parm->MagicStr, "CMD=" ) )
{
printk( "Check ezboot Check String [%s]
",
ptrEzX5Parm->MagicStr );
printk( "Check ezboot command line [%s]
",
ptrEzX5Parm->CommandLine );
strcat( from, " " );
strcat( from, ptrEzX5Parm->CommandLine );
}
}
}
#endif
이 부분에서요...
(TBootLoaderParam *) 0xC0000000;;
요부분이 궁금합니다. ezboot.x5에서 부트로더의 boot parameter는 아래와 같
이 0xA0000000에 복사한것 같은데...
int GoKernelSingle( void )
{
char buff[] = { 0,0,0,0,0 }; // 명령 커맨드 시험용임
void (*theKernel)(int zero, int arch);
printf( "Starting kernel ...
");
memcpy( (char *) DEFAULT_RAM_KERNEL_ZERO_PAGE, (char *) &
(Cfg.KCmd) , sizeof(TKernelCommandLine) );
theKernel = (void (*)(int, int))DEFAULT_RAM_KERNEL_START;
theKernel( ( long ) 0 , (long) LINUX_MACH_TYPE );
return 0;
}
0xC0000000 에서 TBootLoaderParam 정보를 받아오는 것을 잘 모르겠습니다.
이 주소가 0xA0000000으로 되야하는것 아닌지요...