- 论坛徽章:
- 0
|
函数名:bootup
** 输 入:无
** 输 出:无
** 描 述:CF卡加载三系统
** 全局变量:
** 调用模块:
******************************************************************/
static void bootup(void)
{
printk("\n\nNow we are trying to boot from pcmcia device!\n" ;
if(cf_bootfile_rmios[0]=='0' || cf_bootfile_rmios[0]=='1')
{
strcpy(cf_bootfile_rmios,CF_RMIOS_DEFAULT);
}
if(cf_bootfile_vxworks[0]=='0' || cf_bootfile_vxworks[0]=='1')
{
strcpy(cf_bootfile_vxworks,CF_VXWORKS_DEFAULT);
}
if(cf_bootfile_linux[0]=='0' || cf_bootfile_linux[0]=='1')
{
strcpy(cf_bootfile_linux,CF_LINUX_DEFAULT);
}
if(cf_bootfile_rootfs[0]=='0' || cf_bootfile_rootfs[0]=='1')
{
strcpy(cf_bootfile_rootfs,CF_ROOTFS_DEFAULT);
}
/********************************************************/
if(do_auto_disk_load(cf_bootdev,cf_bootpat,cf_bootfile_rmios,32))
{
printk("\nno rmios to bootup\n" ;
}
else
{
#ifdef __XLS408__
if(g_zoomboardtype == ZOOM_BMCR40
{
execute_cmd("userapp_os -om 0xee -T uart0" ;
}
else if (g_zoomboardtype == ZOOM_BMCR416)
{
execute_cmd("userapp_os -om 0xffee -T uart0" ;
}
#endif
#ifdef __XLR732__
if(g_zoomboardtype == ZOOM_BMCR716)
{
execute_cmd("userapp_os -om 0xffee -T uart0" ;
}
else if(g_zoomboardtype == ZOOM_BMCR732)
{
execute_cmd("userapp_os -om 0xffffffee -T uart0" ;
}
#endif
}
if(do_auto_disk_load(cf_bootdev,cf_bootpat,cf_bootfile_vxworks,32))
{
printk("\nno vxworks to bootup\n" ;
}
else
{
execute_cmd("userapp_os -om 0x10" ;
}
if(do_auto_disk_load(cf_bootdev,cf_bootpat,cf_bootfile_rootfs,64))
{
if(do_auto_disk_load(cf_bootdev,cf_bootpat,cf_bootfile_linux,64))
{
printk("\nno linux to bootup\n" ;
}
else
{
execute_cmd("run" ;
}
}
else
{
execute_cmd("initrd");
if(do_auto_disk_load(cf_bootdev,cf_bootpat,cf_bootfile_linux,64))
{
printk("\nno linux to bootup\n");
}
else
{
execute_cmd("vmlinux");
}
} |
|