⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bootconfig.c

📁 s3c2410 vxworks 的bsp
💻 C
📖 第 1 页 / 共 5 页
字号:
    (PPP_OPT_REQUIRE_PAP << PPP_S_REQUIRE_PAP)               | \    (PPP_OPT_REQUIRE_CHAP << PPP_S_REQUIRE_CHAP)             | \    (PPP_OPT_LOGIN << PPP_S_LOGIN)                           | \    (PPP_OPT_DEBUG << PPP_S_DEBUG)                           | \    (PPP_OPT_DRIVER_DEBUG << PPP_S_DRIVER_DEBUG))#endif  /* PPP_OPTIONS_FLAGS */ PPP_OPTIONS pppOptions =    {    PPP_OPTIONS_FLAGS,		    PPP_STR_ASYNCMAP,		    PPP_STR_ESCAPE_CHARS,	    PPP_STR_VJ_MAX_SLOTS,	    PPP_STR_NETMASK,		    PPP_STR_MRU,		    PPP_STR_MTU,		    PPP_STR_LCP_ECHO_FAILURE,	    PPP_STR_LCP_ECHO_INTERVAL,    PPP_STR_LCP_RESTART,	    PPP_STR_LCP_MAX_TERMINATE,	    PPP_STR_LCP_MAX_CONFIGURE,	    PPP_STR_LCP_MAX_FAILURE,	    PPP_STR_IPCP_RESTART,	    PPP_STR_IPCP_MAX_TERMINATE,    PPP_STR_IPCP_MAX_CONFIGURE,	    PPP_STR_IPCP_MAX_FAILURE,	    PPP_STR_LOCAL_AUTH_NAME,	    PPP_STR_REMOTE_AUTH_NAME,	    PPP_STR_PAP_FILE,		    PPP_STR_PAP_USER_NAME,	    PPP_STR_PAP_PASSWD,		    PPP_STR_PAP_RESTART,	    PPP_STR_PAP_MAX_AUTHREQ,	    PPP_STR_CHAP_FILE,		    PPP_STR_CHAP_RESTART,	    PPP_STR_CHAP_INTERVAL,	    PPP_STR_CHAP_MAX_CHALLENGE	    }; #endif  /* INCLUDE_PPP */#endif  /* INCLUDE_NETWORK */#ifdef __STDC__void 		usrRoot (char *pMemPoolStart, unsigned memPoolSize);void 		usrClock (void);void		usrKernelInit (void);LOCAL void	bootCmdLoop (void);LOCAL char	autoboot (int timeout);LOCAL void	printBootLogo (void);LOCAL void	bootHelp (void);LOCAL STATUS	bootLoad (char *bootString, FUNCPTR *pEntry);LOCAL void	go (FUNCPTR entry);LOCAL void	m (char *adrs);LOCAL void	d (char *adrs, int nwords);LOCAL void	bootExcHandler (int tid);LOCAL void	skipSpace (char **strptr);LOCAL void	printExcMsg (char *string);LOCAL STATUS	getArg (char **ppString, int *pValue, BOOL defaultHex,			BOOL optional);LOCAL void	usrBootLineInit (int startType);LOCAL STATUS	usrBootLineCrack (char *bootString, BOOT_PARAMS *pParams);#ifdef  INCLUDE_NETWORKLOCAL STATUS	netLoad (char *hostName, char *fileName, char *usr, 			 char *passwd, FUNCPTR *pEntry);LOCAL void	netifAdrsPrint (char *ifname);LOCAL STATUS	checkInetAddrField (char *pInetAddr, BOOL subnetMaskOK);LOCAL STATUS	usrNetIfAttach (char *devName, int unitNum, char *inetAdrs);LOCAL STATUS	usrNetIfConfig (char *devName, int unitNum, char *inetAdrs,                                 char *inetName, int netmask);LOCAL STATUS	usrBpInit (char *devName, int unitNum, u_long startAddr);LOCAL STATUS	usrSlipInit (char *pBootDev, int unitNum, char *localAddr, 			     char *peerAddr);LOCAL STATUS    usrPPPInit (char *pBootDev, int unitNum, char *localAddr,                             char *peerAddr);#ifdef INCLUDE_BOOTPLOCAL STATUS	bootpGet (char *pNetDev, char *pBootDevAddr, char *pBootFile,			  char *pHostAddr, int *pMask);#endif#ifdef INCLUDE_DHCPCLOCAL STATUS 	dhcpGet (char *pNetDev, char *pBootDevAddr, char *pBootFile,                         char *pHostAddr, int  *pMask,char *pGateway,                         DHCP_LEASE_DATA *pDhcpLease);#endif#endif  /* INCLUDE_NETWORK */#ifdef	INCLUDE_SCSI_BOOTLOCAL STATUS	scsiLoad (int bootDevId, int bootDevLUN, char *fileName,		          FUNCPTR *pEntry);#endif	/* INCLUDE_SCSI_BOOT */#ifdef  INCLUDE_FDLOCAL STATUS    fdLoad (int drive, int type, char *fileName, FUNCPTR *pEntry);#endif  /* INCLUDE_FD */#ifdef  INCLUDE_IDELOCAL STATUS    ideLoad (int drive, int type, char *fileName, FUNCPTR *pEntry);#endif  /* INCLUDE_IDE */#ifdef	INCLUDE_ATALOCAL STATUS	ataLoad (int ctrl, int drive, char *fileName, FUNCPTR *pEntry);#endif	/* INCLUDE_ATA */#ifdef	INCLUDE_PCMCIALOCAL STATUS	pcmciaLoad (int sock, char *fileName, FUNCPTR *pEntry);#endif	/* INCLUDE_PCMCIA */#ifdef	INCLUDE_TFFSLOCAL STATUS    tffsLoad (int drive, int removable, char *fileName, 			  FUNCPTR *pEntry);#endif	/* INCLUDE_TFFS */#ifdef	INCLUDE_TSFS_BOOTLOCAL STATUS	tsfsLoad (char * fileName, FUNCPTR * pEntry);LOCAL void	wdbRebootEventGet (void * pNode, WDB_EVT_DATA *	pEvtData);#endif	/* INCLUDE_TSFS_BOOT */#elsevoid		usrRoot ();void		usrClock ();void		usrKernelInit ();LOCAL void	bootCmdLoop ();LOCAL char	autoboot ();LOCAL void	printBootLogo ();LOCAL void	bootHelp ();LOCAL STATUS	bootLoad ();LOCAL void	go ();LOCAL void	m ();LOCAL void	d ();LOCAL void	bootExcHandler ();LOCAL void	skipSpace ();LOCAL void	printExcMsg ();LOCAL STATUS	getArg ();LOCAL void	usrBootLineInit ();LOCAL STATUS	usrBootLineCrack ();#ifdef  INCLUDE_NETWORKLOCAL STATUS	netLoad ();LOCAL void	netifAdrsPrint ();LOCAL STATUS	checkInetAddrField ();LOCAL STATUS	usrNetIfAttach ();LOCAL STATUS	usrNetIfConfig ();LOCAL STATUS	usrBpInit ();LOCAL STATUS	usrSlipInit ();LOCAL STATUS	usrPPPInit ();#ifdef INCLUDE_BOOTPLOCAL STATUS	bootpGet ();#endif#endif  /* INCLUDE_NETWORK */#ifdef	INCLUDE_SCSI_BOOTLOCAL STATUS	scsiLoad();#endif	/* INCLUDE_SCSI_BOOT */#ifdef  INCLUDE_FDLOCAL STATUS    fdLoad ();#endif  /* INCLUDE_FD */#ifdef  INCLUDE_IDELOCAL STATUS    ideLoad ();#endif  /* INCLUDE_IDE */#ifdef	INCLUDE_ATALOCAL STATUS	ataLoad ();#endif	/* INCLUDE_ATA */#ifdef	INCLUDE_PCMCIALOCAL STATUS	pcmciaLoad ();#endif	/* INCLUDE_PCMCIA */#ifdef	INCLUDE_TFFSLOCAL STATUS    tffsLoad ();#endif	/* INCLUDE_TFFS */#ifdef	INCLUDE_TSFS_BOOTLOCAL STATUS	tsfsLoad ();LOCAL void	wdbRebootEventGet ();#endif	/* INCLUDE_TSFS_BOOT */#endif	/* __STDC__ */void usrInit     (    int startType    )    {        while (trapValue1 != TRAP_VALUE_1 || trapValue2 != TRAP_VALUE_2)	{	}    #if (CPU_FAMILY == SPARC)    excWindowInit ();				#endif#if	(CPU_FAMILY == MIPS)    sysGpInit ();				#endif#ifdef INCLUDE_SYS_HW_INIT_0       SYS_HW_INIT_0 ();#endif #ifdef	INCLUDE_CACHE_SUPPORT#if (!defined(USER_D_CACHE_ENABLE) && !defined(USER_D_CACHE_MODE))#define USER_D_CACHE_MODE CACHE_DISABLED#endif#if (!defined(USER_I_CACHE_ENABLE) && !defined(USER_I_CACHE_MODE))#define USER_I_CACHE_MODE CACHE_DISABLED#endif	    cacheLibInit (USER_I_CACHE_MODE, USER_D_CACHE_MODE);#endif			#if (CPU == SPARClite)    cacheLib.textUpdateRtn = NULL;		#endif    bzero (edata, end - edata);		    sysStartType = startType;	    intVecBaseSet ((FUNCPTR *) VEC_BASE_ADRS);	#if (CPU_FAMILY == AM29XXX)    excSpillFillInit ();                      #endif    excVecInit ();			    sysHwInit ();	    usrKernelInit ();				 	#if	(CPU==SPARC) || (CPU_FAMILY==I80X86)	#undef USER_I_CACHE_ENABLE	#endif	#ifdef	INCLUDE_CACHE_SUPPORT#ifdef 	USER_I_CACHE_ENABLE    cacheEnable (INSTRUCTION_CACHE);		#endif	#endif	    kernelInit ((FUNCPTR) usrRoot, ROOT_STACK_SIZE,		(char *) MEM_POOL_START_ADRS,		sysMemTop (), ISR_STACK_SIZE, INT_LOCK_LEVEL);    }/******************************************************************************** NOMANUAL*/void usrRoot    (    char *      pMemPoolStart,             unsigned    memPoolSize                 )    {    char tyName [20];    int ix;	#ifdef INCLUDE_END    int count;    END_TBL_ENTRY* pDevTbl;#endif /* INCLUDE_END */    memInit (pMemPoolStart, memPoolSize);    sysClkConnect ((FUNCPTR) usrClock, 0);    sysClkRateSet (SYS_CLK_RATE); 	      sysClkEnable ();			    #ifdef INCLUDE_SELECT    selectInit (NUM_FILES);#endif      iosInit (NUM_DRIVERS, NUM_FILES, "/null");    consoleFd = NONE;	#ifdef  INCLUDE_TYCODRV_5_2#ifdef  INCLUDE_TTY_DEV    if (NUM_TTY > 0)        {        tyCoDrv ();                                    for (ix = 0; ix < NUM_TTY; ix++)                   {            sprintf (tyName, "%s%d", "/tyCo/", ix);            (void) tyCoDevCreate (tyName, ix, 512, 512);            if (ix == CONSOLE_TTY)                strcpy (consoleName, tyName);               }        consoleFd = open (consoleName, O_RDWR, 0);        (void) ioctl (consoleFd, FIOBAUDRATE, CONSOLE_BAUD_RATE);        (void) ioctl (consoleFd, FIOSETOPTIONS,			OPT_ECHO | OPT_CRMOD | OPT_TANDEM | OPT_7_BIT);        }#endif  #else   #ifdef  INCLUDE_TTY_DEV    if (NUM_TTY > 0)        {        ttyDrv();                                      for (ix = 0; ix < NUM_TTY; ix++)                    {#if (defined(INCLUDE_WDB) && (WDB_COMM_TYPE == WDB_COMM_SERIAL))	    if (ix == WDB_TTY_CHANNEL)          	    	continue;#endif            sprintf (tyName, "%s%d", "/tyCo/", ix);            (void) ttyDevCreate (tyName, sysSerialChanGet(ix), 512, 512);            if (ix == CONSOLE_TTY)                             {                strcpy (consoleName, tyName);                consoleFd = open (consoleName, O_RDWR, 0);                (void) ioctl (consoleFd, FIOBAUDRATE, CONSOLE_BAUD_RATE);                (void) ioctl (consoleFd, FIOSETOPTIONS,			OPT_ECHO | OPT_CRMOD | OPT_TANDEM | OPT_7_BIT);                }            }        }#endif  /* INCLUDE_TTY_DEV */#ifdef INCLUDE_PC_CONSOLE    pcConDrv ();    for (ix = 0; ix < N_VIRTUAL_CONSOLES; ix++)        {        sprintf (tyName, "%s%d", "/pcConsole/", ix);        (void) pcConDevCreate (tyName,ix, 512, 512);        if (ix == PC_CONSOLE)                      {            strcpy (consoleName, tyName);            consoleFd = open (consoleName, O_RDWR, 0);            (void) ioctl (consoleFd, FIOBAUDRATE, CONSOLE_BAUD_RATE);            (void) ioctl (consoleFd, FIOSETOPTIONS,			OPT_ECHO | OPT_CRMOD | OPT_TANDEM | OPT_7_BIT);            }        }#endif  /* INCLUDE_PC_CONSOLE */#endif  /* !INCLUDE_TYCODRV_5_2 */	#ifdef INCLUDE_WDB    wdbConfig();		    vxBootFile[0] = NULL;		#if defined(INCLUDE_TSFS_BOOT) && defined(INCLUDE_TSFS_BOOT_VIO_CONSOLE)    consoleFd = open ("/vio/0", O_RDWR, 0);		#endif#endif	    ioGlobalStdSet (STD_IN,  consoleFd);    ioGlobalStdSet (STD_OUT, consoleFd);    ioGlobalStdSet (STD_ERR, consoleFd);	    pipeDrv ();					#if     defined(INCLUDE_EXC_HANDLING) && defined(INCLUDE_EXC_TASK)#ifdef  INCLUDE_EXC_SHOW    excShowInit ();			#endif    excInit ();				#endif      excHookAdd ((FUNCPTR) bootExcHandler);	    logInit (consoleFd, 5);			#ifdef	INCLUDE_DOSFS    hashLibInit ();				#endif#if	defined(INCLUDE_AOUT)    bootAoutInit ();				#else	#if	defined(INCLUDE_ECOFF)    bootEcoffInit ();				#else	/* coff */#if	defined(INCLUDE_COFF)    bootCoffInit ();			#else   /* coff */#if	defined(INCLUDE_ELF)    bootElfInit ();				#endif#endif 					#endif#endif#ifdef  INCLUDE_PCMCIA                                                                                                        pcmciaInit ();                     #endif 	#ifdef INCLUDE_END    muxMaxBinds = MUX_MAX_BINDS;    if (muxLibInit() == ERROR)	return;                                  for (count = 0, pDevTbl = endDevTbl; pDevTbl->endLoadFunc != END_TBL_END;         pDevTbl++, count++)        {        cookieTbl[count].pCookie = muxDevLoad (pDevTbl->unit, pDevTbl->endLoadFunc,                                       pDevTbl->endLoadString,                                       pDevTbl->endLoan, pDevTbl->pBSP);        if (cookieTbl[count].pCookie == NULL)            {            printf ("muxLoad failed!\n");            }                cookieTbl[count].unitNo=pDevTbl->unit;	bzero((void *)cookieTbl[count].devName,END_NAME_MAX);	pDevTbl->endLoadFunc((char*)cookieTbl[count].devName, NULL);        }#endif 	        taskSpawn ("tBoot", bootCmdTaskPriority, bootCmdTaskOptions,		bootCmdTaskStackSize, (FUNCPTR) bootCmdLoop,		0,0,0,0,0,0,0,0,0,0);		while(1){	 			taskDelay (sysClkRateGet()/4);			rPDATD= 0x4fff;			taskDelay (sysClkRateGet()/4);			rPDATD= 0x1fff;				}	    }/******************************************************************************** NOMANUAL*/void usrClock (void)    {    tickAnnounce ();	    }#include "tffs/tffsDrv.h"	STATUS 	ftpdInit (FUNCPTR, int stackSize); int     netInit(char *   bootString);	     /*********************************************************************************/LOCAL void bootCmdLoop (void)    {    BOOT_PARAMS params;    char line [BOOT_CMD_MAX_LINE];    char *pLine;    int nwords;    int nbytes;    int value;    int adr;    int adr2;    FUNCPTR entry;    char key = 0;	int fd;	int i=0;	STATUS return_value;    (void) ioctl (STD_IN, FIOFLUSH, 0 /*XXX*/);    if (sysStartType & BOOT_CLEAR)	printBootLogo ();	    usrBootLineInit (sysStartType);		    bootStringToStruct (BOOT_LINE_ADRS, &params);    bcopyBytes ((char *) (0x7e000), &(IP_PARAMS),sizeof(IP_PARAMS));     	    if(IP_PARAMS.dhcpflag==1) 	         params.flags = 0x40; 	    else  	    { 	    	if(IP_PARAMS.bootpflag==1) 	    	    params.flags = 0x40; 	    	else 	    	   params.flags = 0; 	    }         sysFlags = params.flags;#ifdef INCLUDE_TFFS	if (tffsDrv () != OK)    		dosFsInit (NUM_DOSFS_FILES);            if (usrTffsConfig (0, 0, "/tffs0/vxworks") == ERROR)	{	}#endif	#ifdef INCLUDE_NETWORK	if( netInit(BOOT_LINE_ADRS) == ERROR )		{	}#endif#ifdef INCLUDE_FTP_SERVER	if( ftpdInit(0,0) == ERROR)		{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -