usrEntry.c
上传用户:dqzhongke1
上传日期:2022-06-26
资源大小:667k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* usrEntry.c - user entry point for compressed images */
  2. /*
  3.  * Copyright (c) 1984-2005 Wind River Systems, Inc.
  4.  *
  5.  * The right to copy, distribute, modify or otherwise make use
  6.  * of this software may be licensed only pursuant to the terms
  7.  * of an applicable Wind River license agreement.
  8.  */
  9. /*
  10. modification history
  11. --------------------
  12. 01b,06sep05,h_k  added gp setting for MIPS. (SPR #111954)
  13. 01a,02jun98,ms   written
  14. */
  15. /*
  16. DESCRIPTION
  17. The routine usrEntry() is the entry point for compressed images.
  18. The decompression stub inflates the main VxWorks or bootrom code into RAM,
  19. and then jumps to it. This is the entry point (i.e., the first address).
  20. It is important not to add any other routines before this one.
  21. */
  22. #include <vxWorks.h>
  23. #include <usrConfig.h>
  24. /******************************************************************************
  25. *
  26. * usrEntry - entry point for vxWorks_romCompress, vxWorks_rom and bootrom
  27. *            images.
  28. *
  29. * This routine is the entry point after the bootroms and vxWorks romable
  30. * images decompress, if compression is utilized.
  31. * This routine must be the first item of the
  32. * text segment of this file.  With ANSI C, strings will appear in text
  33. * segment so one should avoid entering strings, routines, or anything
  34. * else that might displace this routine from base of the text segment.
  35. *
  36. * It is unwise to add functionality to this routine without due cause.
  37. * We are in the prehistoric period of system initialization.
  38. *
  39. * NOMANUAL
  40. */ 
  41. void usrEntry (int startType)
  42.     {
  43. #if     (CPU_FAMILY==I960)
  44.     sysInitAlt (startType);             /* jump to the i960 entry point */
  45. #endif
  46. #if (CPU_FAMILY==MIPS)
  47.     WRS_ASM (".extern _gp; la $gp,_gp");
  48. #endif
  49.     usrInit (startType);                /* all others procede below */
  50.     }