mmuLib.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* mmuLib.h - mmuLib header file */
  2. /* Copyright 1984-1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01l,01mar00,frf  Add SH4 support for T2.
  7. 01k,28aug98,st   added prototype for mmuSh7750LibInit.
  8. 01j,15nov96,wt   added prototype for mmuSh7700LibInit.
  9. 02b,20jan99,cdp  removed support for old ARM libraries.
  10. 01l,12nov98,cdp  removed prototype mmuLibInit() for new ARM architectures.
  11. 01k,09apr98,hdn  added PentiumPro support.
  12. 01j,19sep95,tpr  added prototype mmuPpcLibInit() for PowerPC.
  13. 01i,24nov93,hdn  added prototype mmuLibInit() for I80X86.
  14. 01i,02dec93,pme  added Am29K family support.
  15. 01h,01oct92,jcf  rolled out 01g to remove warnings.
  16. 01g,27sep92,kdl  deleted prototypes for mmu1eLibInit, mmu30LibInit, mmu40LibInit
  17. 01f,22sep92,rrr  added support for c++
  18. 01e,22sep92,rdc  added support for sun1e.
  19. 01d,17sep92,rdc  added prototypes and errors for sun1e.
  20. 01c,30jul92,rdc  added prototypes for mmu30LibInit and mmu40LibInit.
  21. 01b,28jul92,rdc  removed superfluous function prototypes.
  22. 01a,08jul92,rdc  written.
  23. */
  24. #ifndef __INCmmuLibh
  25. #define __INCmmuLibh
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. #define S_mmuLib_INVALID_PAGE_SIZE (M_mmuLib | 1)
  30. #define S_mmuLib_NO_DESCRIPTOR (M_mmuLib | 2)
  31. #define S_mmuLib_INVALID_DESCRIPTOR (M_mmuLib | 3)
  32. /* sun4 specific codes */
  33. #define S_mmuLib_OUT_OF_PMEGS (M_mmuLib | 5)
  34. /* virtual addresses must be in the first or last 1/2 Gibabyte of
  35.  * virtual address space
  36.  */
  37. #define S_mmuLib_VIRT_ADDR_OUT_OF_BOUNDS (M_mmuLib | 6)
  38. typedef struct mmuTransTblStruct * MMU_TRANS_TBL_ID;
  39. #if defined(__STDC__) || defined(__cplusplus)
  40. STATUS mmu30LibInit (int pageSize);
  41. STATUS mmu40LibInit (int pageSize);
  42. STATUS mmu1eLibInit (int pageSize);
  43. #if (CPU_FAMILY != ARM)
  44. STATUS mmuLibInit (int pageSize);
  45. #endif
  46. STATUS mmuPro32LibInit (int pageSize);
  47. STATUS mmuPro36LibInit (int pageSize);
  48. STATUS mmuAm29kLibInit (int pageSize);
  49. STATUS mmuPpcLibInit (int mmuType, int * pPhysMemDesc, int elementNb, int *);
  50. STATUS mmuSh7750LibInit (int pageSize);
  51. STATUS mmuSh7700LibInit (int pageSize);
  52. #else /* __STDC__ */
  53. STATUS mmu30LibInit ();
  54. STATUS mmu40LibInit ();
  55. STATUS mmu1eLibInit ();
  56. #if ((CPU_FAMILY != ARM)
  57. STATUS mmuLibInit ();
  58. #endif
  59. STATUS mmuPro32LibInit ();
  60. STATUS mmuPro36LibInit ();
  61. STATUS mmuAm29kLibInit ();
  62. STATUS mmuPpcLibInit ();
  63. STATUS mmuSh7750LibInit ();
  64. STATUS mmuSh7700LibInit ();
  65. #endif /* __STDC__ */
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif /* __INCmmuLibh */