Subversion Repositories HelenOS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2726 vana 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