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