00001
00002
00003
00004 #include "copyright_wrs.h"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118 #include "vxWorks.h"
00119 #include "config.h"
00120 #include "usrConfig.h"
00121 #include "usrDepend.c"
00122 #include "usrKernel.c"
00123 #include "usrExtra.c"
00124 #ifdef APS_BSP
00125 #include "epicsUsrConfig.c"
00126 #endif
00127
00128 #if CPU==SIMNT
00129 extern int simUpMutex;
00130 extern int win_ReleaseMutex(int hMutex);
00131 #endif
00132
00133 #ifdef INCLUDE_HTTP
00134 #include "http/httpLib.h"
00135 #endif
00136
00137
00138
00139 int consoleFd;
00140 char consoleName[20];
00141 SYMTAB_ID statSymTbl;
00142 SYMTAB_ID standAloneSymTbl;
00143 SYMTAB_ID sysSymTbl;
00144 BOOT_PARAMS sysBootParams;
00145 int sysStartType;
00146
00147 #ifdef INCLUDE_XRSIO_DRV
00148 extern int xrinit( void );
00149 #endif
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172 void usrInit
00173 (
00174 int startType
00175 )
00176 {
00177 #if (CPU_FAMILY == SPARC)
00178 excWindowInit ();
00179 #endif
00180
00181
00182
00183 #ifdef INCLUDE_CACHE_SUPPORT
00184 cacheLibInit (USER_I_CACHE_MODE, USER_D_CACHE_MODE);
00185 #endif
00186
00187 #if CPU_FAMILY!=SIMNT && CPU_FAMILY!=SIMSPARCSUNOS && CPU_FAMILY!=SIMHPPA && CPU_FAMILY!=SIMSPARCSOLARIS
00188
00189
00190 bzero (edata, end - edata);
00191 #endif
00192
00193 sysStartType = startType;
00194
00195 intVecBaseSet ((FUNCPTR *) VEC_BASE_ADRS);
00196
00197 #if (CPU_FAMILY == AM29XXX)
00198 excSpillFillInit ();
00199 #endif
00200
00201 #ifdef INCLUDE_EXC_HANDLING
00202 excVecInit ();
00203 #endif
00204
00205 sysHwInit ();
00206
00207 usrKernelInit ();
00208
00209 #ifdef INCLUDE_CACHE_SUPPORT
00210 #ifdef USER_I_CACHE_ENABLE
00211 cacheEnable (INSTRUCTION_CACHE);
00212 #endif
00213
00214 #ifdef USER_D_CACHE_ENABLE
00215 cacheEnable (DATA_CACHE);
00216 #endif
00217
00218 #if (CPU == MC68060)
00219 #ifdef USER_B_CACHE_ENABLE
00220 cacheEnable (BRANCH_CACHE);
00221 #endif
00222 #endif
00223 #endif
00224
00225
00226 *(UINT8 *)MV2100_SYS_STAT_REG2 |= MV2100_BD_FAIL;
00227 kernelInit ((FUNCPTR) usrRoot, ROOT_STACK_SIZE,
00228 #ifdef INCLUDE_WDB
00229 (char *) FREE_RAM_ADRS + WDB_POOL_SIZE,
00230 #else
00231 (char *) FREE_RAM_ADRS,
00232 #endif
00233 sysMemTop (), ISR_STACK_SIZE, INT_LOCK_LEVEL);
00234 }
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252 void usrRoot
00253 (
00254 char * pMemPoolStart,
00255 unsigned memPoolSize
00256 )
00257 {
00258 char tyName [20];
00259 int ix;
00260
00261
00262
00263
00264
00265 *(UINT8 *)MV2100_SYS_STAT_REG2 &= ~MV2100_BD_FAIL;
00266
00267 #ifdef INCLUDE_MEM_MGR_FULL
00268 memInit (pMemPoolStart, memPoolSize);
00269 #else
00270 memPartLibInit (pMemPoolStart, memPoolSize);
00271 #endif
00272
00273 #ifdef INCLUDE_SHOW_ROUTINES
00274 memShowInit ();
00275 #endif
00276
00277 #if defined(INCLUDE_MMU_BASIC) || defined(INCLUDE_MMU_FULL)
00278 usrMmuInit ();
00279 #endif
00280
00281
00282
00283 sysClkConnect ((FUNCPTR) usrClock, 0);
00284 sysClkRateSet (60);
00285 sysClkEnable ();
00286
00287
00288
00289
00290
00291
00292
00293 #ifdef INCLUDE_SELECT
00294 _func_selWakeupListInit = (FUNCPTR) selWakeupListInit;
00295 #endif
00296
00297
00298
00299 #ifdef INCLUDE_IO_SYSTEM
00300 iosInit (NUM_DRIVERS, NUM_FILES, "/null");
00301
00302 consoleFd = NONE;
00303
00304 #ifdef INCLUDE_TYCODRV_5_2
00305 #ifdef INCLUDE_TTY_DEV
00306 if (NUM_TTY > 0)
00307 {
00308 tyCoDrv ();
00309
00310 for (ix = 0; ix < NUM_TTY; ix++)
00311 {
00312 sprintf (tyName, "%s%d", "/tyCo/", ix);
00313
00314 (void) tyCoDevCreate (tyName, ix, 512, 512);
00315
00316 if (ix == CONSOLE_TTY)
00317 strcpy (consoleName, tyName);
00318 }
00319
00320 consoleFd = open (consoleName, O_RDWR, 0);
00321
00322
00323
00324 (void) ioctl (consoleFd, FIOBAUDRATE, CONSOLE_BAUD_RATE);
00325 (void) ioctl (consoleFd, FIOSETOPTIONS, OPT_TERMINAL);
00326 }
00327 #endif
00328
00329 #else
00330 #ifdef INCLUDE_TTY_DEV
00331 if (NUM_TTY > 0)
00332 {
00333 ttyDrv();
00334
00335 for (ix = 0; ix < NUM_TTY; ix++)
00336 {
00337 #if (defined(INCLUDE_WDB) && (WDB_COMM_TYPE == WDB_COMM_SERIAL))
00338 if (ix == WDB_TTY_CHANNEL)
00339 continue;
00340 #endif
00341 sprintf (tyName, "%s%d", "/tyCo/", ix);
00342 (void) ttyDevCreate (tyName, sysSerialChanGet(ix), 512, 512);
00343
00344 if (ix == CONSOLE_TTY)
00345 {
00346 strcpy (consoleName, tyName);
00347 consoleFd = open (consoleName, O_RDWR, 0);
00348 (void) ioctl (consoleFd, FIOBAUDRATE, CONSOLE_BAUD_RATE);
00349 (void) ioctl (consoleFd, FIOSETOPTIONS, OPT_TERMINAL);
00350 }
00351 }
00352 }
00353 #endif
00354
00355 #ifdef INCLUDE_PC_CONSOLE
00356 pcConDrv ();
00357 for (ix = 0; ix < N_VIRTUAL_CONSOLES; ix++)
00358 {
00359 sprintf (tyName, "%s%d", "/pcConsole/", ix);
00360 (void) pcConDevCreate (tyName,ix, 512, 512);
00361 if (ix == PC_CONSOLE)
00362 {
00363 strcpy (consoleName, tyName);
00364 consoleFd = open (consoleName, O_RDWR, 0);
00365 (void) ioctl (consoleFd, FIOBAUDRATE, CONSOLE_BAUD_RATE);
00366 (void) ioctl (consoleFd, FIOSETOPTIONS, OPT_TERMINAL);
00367 }
00368 }
00369 #endif
00370
00371 #endif
00372
00373 ioGlobalStdSet (STD_IN, consoleFd);
00374 ioGlobalStdSet (STD_OUT, consoleFd);
00375 ioGlobalStdSet (STD_ERR, consoleFd);
00376 #endif
00377
00378
00379
00380 #ifdef INCLUDE_SYM_TBL
00381 hashLibInit ();
00382 symLibInit ();
00383 #ifdef INCLUDE_SHOW_ROUTINES
00384 symShowInit ();
00385 #endif
00386 #endif
00387
00388
00389
00390
00391 #if defined(INCLUDE_EXC_HANDLING) && defined(INCLUDE_EXC_TASK)
00392 excInit ();
00393 #endif
00394
00395 #ifdef INCLUDE_LOGGING
00396 logInit (consoleFd, MAX_LOG_MSGS);
00397 #endif
00398
00399 #ifdef INCLUDE_SIGNALS
00400 sigInit ();
00401 #endif
00402
00403
00404
00405 #ifdef INCLUDE_DEBUG
00406 dbgInit ();
00407 #endif
00408
00409
00410
00411
00412 #ifdef INCLUDE_PIPES
00413 pipeDrv ();
00414 #endif
00415
00416
00417
00418
00419 #ifdef INCLUDE_STDIO
00420 stdioInit ();
00421 #ifdef INCLUDE_SHOW_ROUTINES
00422 stdioShowInit ();
00423 #endif
00424 #endif
00425
00426
00427
00428 #if defined(INCLUDE_POSIX_SIGNALS) && defined(INCLUDE_SIGNALS)
00429 sigqueueInit (NUM_SIGNAL_QUEUES);
00430 #endif
00431
00432
00433
00434 #ifdef INCLUDE_POSIX_SEM
00435 semPxLibInit ();
00436 #ifdef INCLUDE_SHOW_ROUTINES
00437 semPxShowInit ();
00438 #endif
00439 #endif
00440
00441
00442
00443 #ifdef INCLUDE_POSIX_MQ
00444 mqPxLibInit (MQ_HASH_SIZE);
00445 #ifdef INCLUDE_SHOW_ROUTINES
00446 mqPxShowInit ();
00447 #endif
00448 #endif
00449
00450
00451
00452 #ifdef INCLUDE_POSIX_AIO
00453 aioPxLibInit (MAX_LIO_CALLS);
00454 #ifdef INCLUDE_POSIX_AIO_SYSDRV
00455 aioSysInit (MAX_AIO_SYS_TASKS, AIO_TASK_PRIORITY, AIO_TASK_STACK_SIZE);
00456 #endif
00457 #endif
00458
00459
00460
00461 #ifdef INCLUDE_DOSFS
00462 hashLibInit ();
00463 dosFsInit (NUM_DOSFS_FILES);
00464 #endif
00465
00466 #ifdef INCLUDE_RAWFS
00467 rawFsInit (NUM_RAWFS_FILES);
00468 #endif
00469
00470 #ifdef INCLUDE_RT11FS
00471 rt11FsInit (NUM_RT11FS_FILES);
00472 #endif
00473
00474 #ifdef INCLUDE_RAMDRV
00475 ramDrv ();
00476 #endif
00477
00478 #ifdef INCLUDE_SCSI
00479
00480
00481
00482
00483
00484
00485 #ifndef INCLUDE_SCSI2
00486 scsi1IfInit ();
00487 #else
00488 scsi2IfInit ();
00489 #endif
00490
00491
00492 if (sysScsiInit () == OK)
00493 {
00494 usrScsiConfig ();
00495 }
00496 else
00497 {
00498 printf ("sysScsiInit() Failed, SCSI system not initialized\n");
00499 }
00500
00501 #endif
00502
00503 #ifdef INCLUDE_FD
00504 fdDrv (FD_INT_VEC, FD_INT_LVL);
00505 #endif
00506
00507 #ifdef INCLUDE_IDE
00508 ideDrv (IDE_INT_VEC, IDE_INT_LVL, IDE_CONFIG);
00509 #endif
00510
00511 #ifdef INCLUDE_ATA
00512 {
00513 IMPORT ATA_RESOURCE ataResources[];
00514 ATA_RESOURCE *pAtaResource;
00515
00516 for (ix = 0; ix < ATA_MAX_CTRLS; ix++)
00517 {
00518 pAtaResource = &ataResources[ix];
00519 if (pAtaResource->ctrlType == IDE_LOCAL)
00520 ataDrv (ix, pAtaResource->drives, pAtaResource->intVector,
00521 pAtaResource->intLevel, pAtaResource->configType,
00522 pAtaResource->semTimeout, pAtaResource->wdgTimeout);
00523 }
00524 }
00525 #ifdef INCLUDE_SHOW_ROUTINES
00526 ataShowInit ();
00527 #endif
00528 #endif
00529
00530 #ifdef INCLUDE_LPT
00531 {
00532 IMPORT LPT_RESOURCE lptResources[];
00533 lptDrv (LPT_CHANNELS, &lptResources[0]);
00534 }
00535 #endif
00536
00537 #ifdef INCLUDE_PCMCIA
00538 #ifdef INCLUDE_SHOW_ROUTINES
00539 pcmciaShowInit ();
00540 #endif
00541 pcmciaInit ();
00542 #endif
00543
00544 #ifdef INCLUDE_TFFS
00545 tffsDrv ();
00546 #endif
00547
00548 #ifdef INCLUDE_FORMATTED_IO
00549 fioLibInit ();
00550 #endif
00551
00552
00553
00554 #ifdef INCLUDE_FLOATING_POINT
00555 floatInit ();
00556 #endif
00557
00558
00559
00560 #ifdef INCLUDE_SW_FP
00561 mathSoftInit ();
00562 #endif
00563
00564
00565
00566 #ifdef INCLUDE_HW_FP
00567 mathHardInit ();
00568
00569 #ifdef INCLUDE_SHOW_ROUTINES
00570 fppShowInit ();
00571 #endif
00572 #endif
00573
00574
00575
00576 #ifdef INCLUDE_SPY
00577 spyLibInit ();
00578 #endif
00579
00580 #ifdef INCLUDE_TIMEX
00581 timexInit ();
00582 #endif
00583
00584 #ifdef INCLUDE_ENV_VARS
00585 envLibInit (ENV_VAR_USE_HOOKS);
00586 #endif
00587
00588 #ifdef INCLUDE_NTPASSFS
00589 {
00590 extern int ntPassFsInit();
00591 extern int ntPassFsDevInit();
00592
00593 ntPassFsInit(1);
00594 ntPassFsDevInit("host:");
00595 }
00596 #endif
00597
00598
00599
00600 #ifdef INCLUDE_LOADER
00601 moduleLibInit ();
00602
00603 #if defined(INCLUDE_AOUT)
00604 loadAoutInit ();
00605 #else
00606 #if defined(INCLUDE_ECOFF)
00607 loadEcoffInit ();
00608 #else
00609 #if defined(INCLUDE_COFF)
00610 loadCoffInit ();
00611 #else
00612 #if defined(INCLUDE_ELF)
00613 loadElfInit ();
00614 #else
00615 #if defined(INCLUDE_SOM_COFF)
00616 loadSomCoffInit ();
00617 #else
00618 #if defined(INCLUDE_PECOFF)
00619 {
00620 extern int loadPecoffInit();
00621
00622 loadPecoffInit ();
00623 }
00624 #endif
00625 #endif
00626 #endif
00627 #endif
00628 #endif
00629 #endif
00630
00631 #endif
00632
00633
00634 #ifdef INCLUDE_SYM_TBL_SYNC
00635 symSyncLibInit ();
00636 #endif
00637
00638
00639
00640 #ifdef INCLUDE_NET_INIT
00641 usrBootLineInit (sysStartType);
00642 usrNetInit (BOOT_LINE_ADRS);
00643 #ifdef APS_BSP
00644 epicsIncPort();
00645 #endif
00646 #if CPU==SIMNT
00647 {
00648 extern int simProcnum;
00649 char ulipIP[] = "90.0.0.1";
00650
00651 ulipIP[7] = '1'+simProcnum;
00652 routeAdd("0.0.0.0",ulipIP);
00653 }
00654 #endif
00655 #endif
00656
00657 #ifdef INCLUDE_PASSFS
00658 {
00659 extern STATUS passFsInit ();
00660 extern void *passFsDevInit ();
00661 char passName [256];
00662
00663 if (passFsInit (1) == OK)
00664 {
00665 extern char vxsim_hostname[];
00666 extern char vxsim_cwd[];
00667
00668 sprintf (passName, "%s:", vxsim_hostname);
00669 if (passFsDevInit (passName) == NULL)
00670 {
00671 printf ("passFsDevInit failed for <%s>\n", passName);
00672 }
00673 else
00674 {
00675 sprintf (passName, "%s:%s", vxsim_hostname, vxsim_cwd);
00676 ioDefPathSet (passName);
00677 }
00678 }
00679 else
00680 printf ("passFsInit failed\n");
00681 }
00682 #endif
00683
00684 #ifdef INCLUDE_DOS_DISK
00685 {
00686 char unixName [80];
00687 extern void unixDrv ();
00688 extern void unixDiskInit ();
00689 extern char *u_progname;
00690 char *pLastSlash;
00691
00692 unixDrv ();
00693
00694 pLastSlash = strrchr (u_progname, '/');
00695 pLastSlash = (pLastSlash == NULL) ? u_progname : (pLastSlash + 1);
00696 sprintf (unixName, "/tmp/%s%d.dos", pLastSlash, sysProcNumGet());
00697 unixDiskInit (unixName, "A:", 0);
00698 }
00699 #endif
00700
00701
00702
00703 #ifdef INCLUDE_SM_OBJ
00704 usrSmObjInit (BOOT_LINE_ADRS);
00705 #endif
00706
00707
00708
00709 #ifdef INCLUDE_VXFUSION
00710 usrVxFusionInit (BOOT_LINE_ADRS);
00711 #ifdef INCLUDE_SHOW_ROUTINES
00712 {
00713 extern void msgQDistShowInit();
00714 extern void distNameShowInit ();
00715 extern void distIfShowInit ();
00716 extern void msgQDistGrpShowInit ();
00717
00718 msgQDistShowInit();
00719 distNameShowInit ();
00720 distIfShowInit ();
00721 msgQDistGrpShowInit ();
00722 }
00723 #endif
00724 #endif
00725
00726
00727
00728 #ifdef INCLUDE_MMU_FULL
00729 #ifdef INCLUDE_PROTECT_TEXT
00730 if (vmTextProtect () != OK)
00731 printf ("\nError protecting text segment. errno = %x\n", errno);
00732 #endif
00733
00734 #ifdef INCLUDE_PROTECT_VEC_TABLE
00735 if (intVecTableWriteProtect () != OK)
00736 printf ("\nError protecting vector table. errno = %x\n", errno);
00737 #endif
00738 #endif
00739
00740
00741
00742 #ifdef INCLUDE_SELECT
00743 selectInit ();
00744 #endif
00745
00746
00747
00748 #ifdef INCLUDE_STANDALONE_SYM_TBL
00749 sysSymTbl = symTblCreate (SYM_TBL_HASH_SIZE_LOG2, TRUE, memSysPartId);
00750
00751 #ifdef INCLUDE_SYM_TBL_SYNC
00752
00753
00754 moduleCreate ("vxWorks.sym",
00755 #if (defined INCLUDE_AOUT)
00756 MODULE_A_OUT,
00757 #elif ((defined INCLUDE_COFF) || (defined INCLUDE_ECOFF) || \
00758 (defined INCLUDE_SOMCOFF))
00759 MODULE_ECOFF,
00760 #elif (defined INCLUDE_ELF)
00761 MODULE_ELF,
00762 #endif
00763 HIDDEN_MODULE|LOAD_NO_SYMBOLS);
00764 #endif
00765
00766 printf ("\nAdding %ld symbols for standalone.\n", standTblSize);
00767
00768
00769
00770 for (ix = 0; (ULONG) ix < standTblSize; ix++)
00771 #if (CPU == ARM7TDMI_T)
00772 thumbSymTblAdd (sysSymTbl, &(standTbl[ix]));
00773 #else
00774 symTblAdd (sysSymTbl, &(standTbl[ix]));
00775 #endif
00776 #endif
00777
00778 #ifdef INCLUDE_NET_SYM_TBL
00779 sysSymTbl = symTblCreate (SYM_TBL_HASH_SIZE_LOG2, TRUE, memSysPartId);
00780
00781 netLoadSymTbl ();
00782 #endif
00783
00784 #ifdef INCLUDE_STAT_SYM_TBL
00785 statSymTbl = symTblCreate (STAT_TBL_HASH_SIZE_LOG2, FALSE, memSysPartId);
00786
00787 for (ix = 0; (ULONG)ix < statTblSize; ix ++)
00788 symTblAdd (statSymTbl, &(statTbl [ix]));
00789 #endif
00790
00791
00792
00793
00794 #if defined (INCLUDE_CPLUS) && defined (INCLUDE_CPLUS_MIN)
00795 #error Define only one of INCLUDE_CPLUS or INCLUDE_CPLUS_MIN, not both
00796 #endif
00797
00798 #ifdef INCLUDE_CPLUS
00799 cplusLibInit ();
00800 #ifdef INCLUDE_LOADER
00801 cplusDemanglerInit ();
00802 #endif
00803 #endif
00804
00805 #ifdef INCLUDE_CPLUS_MIN
00806 cplusLibMinInit ();
00807 #ifdef INCLUDE_LOADER
00808 cplusDemanglerInit ();
00809 #endif
00810 #endif
00811
00812
00813
00814 #ifdef INCLUDE_HTTP
00815 httpd ();
00816 #endif
00817
00818 #ifdef INCLUDE_RBUFF
00819 rBuffLibInit();
00820 #ifdef INCLUDE_SHOW_ROUTINES
00821 rBuffShowInit ();
00822 #endif
00823 #endif
00824
00825 #ifdef INCLUDE_WINDVIEW
00826 windviewConfig ();
00827 #endif
00828
00829
00830
00831
00832 #ifdef INCLUDE_WDB
00833 wdbConfig();
00834
00835 #ifdef INCLUDE_WDB_BANNER
00836 #ifndef INCLUDE_SHELL
00837
00838 printf ("\n\n");
00839 printf ("%17s%s", "","VxWorks\n\n");
00840 printf ("Copyright 1984-1998 Wind River Systems, Inc.\n\n");
00841 printf (" CPU: %s\n", sysModel ());
00842 printf (" VxWorks: " VXWORKS_VERSION "\n");
00843 printf (" BSP version: " BSP_VERSION BSP_REV "\n");
00844 printf (" Creation date: %s\n", __DATE__);
00845 printf (" WDB: %s.\n\n",
00846 ((wdbRunsExternal () || wdbRunsTasking ()) ?
00847 "Ready" : "Agent configuration failed") );
00848 #endif
00849
00850 #endif
00851
00852 #endif
00853
00854
00855
00856 #ifdef INCLUDE_SHELL
00857 #ifdef INCLUDE_SECURITY
00858 if ((sysFlags & SYSFLG_NO_SECURITY) == 0)
00859 {
00860 loginInit ();
00861 #ifndef APS_BSP
00862 shellLoginInstall (loginPrompt, NULL);
00863 #else
00864 shellLoginInstall (apsLoginPrompt, NULL);
00865 #endif
00866
00867
00868
00869 loginUserAdd (LOGIN_USER_NAME, LOGIN_PASSWORD);
00870 }
00871 #endif
00872
00873 printLogo ();
00874
00875 printf (" ");
00876 printf ("CPU: %s. Processor #%d.\n", sysModel (), sysProcNumGet ());
00877 printf (" ");
00878 printf ("Memory Size: 0x%x.\n", (UINT)(sysMemTop () - (char *)LOCAL_MEM_LOCAL_ADRS));
00879 printf (" ");
00880 printf ("BSP version " BSP_VERSION BSP_REV ".");
00881 #if defined(INCLUDE_WDB) && defined(INCLUDE_WDB_BANNER)
00882 printf ("\n ");
00883 printf ("WDB: %s.",
00884 ((wdbRunsExternal () || wdbRunsTasking ()) ?
00885 "Ready" : "Agent configuration failed") );
00886 #endif
00887 #ifdef APS_BSP
00888 epicsUsrInit();
00889 #endif
00890 printf ("\n\n");
00891
00892 #ifdef INCLUDE_XRSIO_DRV
00893 {
00894
00895
00896 XrSioDrvInit();
00897 }
00898 #endif INCLUDE_XRSIO_DRV
00899
00900
00901 #ifdef INCLUDE_STARTUP_SCRIPT
00902 if (sysBootParams.startupScript [0] != EOS)
00903 usrStartupScript (sysBootParams.startupScript);
00904 #endif
00905
00906 shellInit (SHELL_STACK_SIZE, TRUE);
00907
00908
00909
00910
00911 #else
00912 #if defined(INCLUDE_DEMO)
00913 taskSpawn ("demo", 20, 0, 2000, (FUNCPTR)usrDemo, 0,0,0,0,0,0,0,0,0,0);
00914 #endif
00915
00916 #endif
00917
00918 #ifdef INCLUDE_UGL
00919 usrUglInit ();
00920 #endif
00921
00922 #if defined(INCLUDE_JAVA)
00923 javaConfig ();
00924 #endif
00925
00926 #ifdef INCLUDE_HTML
00927 usrHtmlInit ();
00928 #endif
00929
00930 #if CPU==SIMNT
00931 win_ReleaseMutex(simUpMutex);
00932 #endif
00933
00934 #ifdef INCLUDE_USER_APPL
00935
00936
00937 USER_APPL_INIT;
00938 #endif
00939
00940 }
00941
00942
00943
00944
00945
00946
00947
00948
00949
00950
00951
00952
00953
00954
00955
00956
00957 void usrClock ()
00958
00959 {
00960 tickAnnounce ();
00961 }
00962
00963 #ifdef INCLUDE_DEMO
00964
00965
00966
00967
00968
00969
00970
00971
00972
00973
00974
00975
00976 void usrDemo (void)
00977
00978 {
00979 char string [40];
00980
00981 printf ("VxWorks (for %s) version %s.\n", sysModel (), vxWorksVersion);
00982 printf ("Kernel: %s.\n", kernelVersion ());
00983 printf ("Made on %s.\n", creationDate);
00984
00985 FOREVER
00986 {
00987 printf ("\nThis is a test. Type something: ");
00988 fioRdString (STD_IN, string, sizeof (string));
00989 printf ("\nYou typed \"%s\".\n", string);
00990
00991 if (strcmp (string, "0") == 0)
00992 memShow (0);
00993
00994 if (strcmp (string, "1") == 0)
00995 memShow (1);
00996 }
00997 }
00998
00999 #endif
01000
01001
01002
01003
01004
01005
01006 #ifdef ADD_SYS_END_DEV_TBL_ADD
01007 ADD_SYS_END_DEV_TBL_ADD
01008 #endif
01009
01010 static char identusrConfig_c[]="@(#) $Name: $ $Id: usrConfig.c,v 1.4 2002/08/28 20:02:35 thompson Exp $";