Subversion Repositories HelenOS

Rev

Rev 2726 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. //
  2. //
  3. //       Copyright (c) 1996-99 Intel Corp.            
  4. //         All Rights Reserved  
  5. //
  6. //       INTEL CORPORATION PROPRIETARY INFORMATION
  7. //
  8. //       This software is supplied under the terms of a license
  9. //       agreement or nondisclosure agreement with Intel Corpo-
  10. //       ration and may not be copied or disclosed except in
  11. //       accordance with the terms of that agreement.
  12. //
  13. //
  14. //
  15. //Module Name:
  16. //
  17. //   palproc.h
  18. //
  19. //Abstract:
  20. //
  21. //   This module contains generic macros for an IA64 assembly writer.
  22. //
  23. //
  24. //Revision History
  25. //
  26.  
  27. #ifndef _PALPROC_H
  28. #define _PALPROC_H
  29.  
  30. #define PROCEDURE_ENTRY(name)   .##text;            \
  31.                 .##type name, @function;    \
  32.                 .##global name;           \
  33.                 .##proc name;           \
  34. name:
  35.  
  36. #define PROCEDURE_EXIT(name)    .##endp name
  37.  
  38. // Note: use of NESTED_SETUP requires number of locals (l) >= 3
  39.  
  40. #define NESTED_SETUP(i,l,o,r) \
  41.          alloc loc1=ar##.##pfs,i,l,o,r ;\
  42.          mov loc0=b0
  43.  
  44. #define NESTED_RETURN \
  45.          mov b0=loc0 ;\
  46.          mov ar##.##pfs=loc1 ;;\
  47.          br##.##ret##.##dpnt  b0;;
  48.  
  49.  
  50. // defines needed in palproc.s
  51.  
  52. #define PAL_MC_CLEAR_LOG                                0x0015
  53. #define PAL_MC_DRAIN                                    0x0016
  54. #define PAL_MC_EXPECTED                                 0x0017
  55. #define PAL_MC_DYNAMIC_STATE                            0x0018
  56. #define PAL_MC_ERROR_INFO                               0x0019
  57. #define PAL_MC_RESUME                                   0x001a
  58. #define PAL_MC_REGISTER_MEM                             0x001b
  59.  
  60. #endif  // _PALPROC_H
  61.