1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
#ifndef HUDSON_MACROS_LOADED
#define HUDSON_MACROS_LOADED 1
/*
* VID: [T1.2] PT: [Fri Apr 21 16:47:16 1995] SF: [macros.h]
* TI: [/sae_users/cruz/bin/vice -iplatform.s -l// -p# -DEB164 -h -m -aeb164 ]
*/
/*
*****************************************************************************
** *
** Copyright © 1993, 1994 *
** by Digital Equipment Corporation, Maynard, Massachusetts. *
** *
** All Rights Reserved *
** *
** Permission is hereby granted to use, copy, modify and distribute *
** this software and its documentation, in both source code and *
** object code form, and without fee, for the purpose of distribution *
** of this software or modifications of this software within products *
** incorporating an integrated circuit implementing Digital's AXP *
** architecture, regardless of the source of such integrated circuit, *
** provided that the above copyright notice and this permission notice *
** appear in all copies, and that the name of Digital Equipment *
** Corporation not be used in advertising or publicity pertaining to *
** distribution of the document or software without specific, written *
** prior permission. *
** *
** Digital Equipment Corporation disclaims all warranties and/or *
** guarantees with regard to this software, including all implied *
** warranties of fitness for a particular purpose and merchantability, *
** and makes no representations regarding the use of, or the results *
** of the use of, the software and documentation in terms of correctness, *
** accuracy, reliability, currentness or otherwise; and you rely on *
** the software, documentation and results solely at your own risk. *
** *
** AXP is a trademark of Digital Equipment Corporation. *
** *
*****************************************************************************
**
** FACILITY:
**
** DECchip 21164 PALcode
**
** MODULE:
**
** macros.h
**
** MODULE DESCRIPTION:
**
** DECchip 21164 PALcode macro definitions
**
** AUTHOR: ER
**
** CREATION DATE: 29-Nov-1993
**
** $Id: fromHudsonMacros.h,v 1.1.1.1 1997/10/30 23:27:19 verghese Exp $
**
** MODIFICATION HISTORY:
**
** $Log: fromHudsonMacros.h,v $
** Revision 1.1.1.1 1997/10/30 23:27:19 verghese
** current 10/29/97
**
** Revision 1.1 1995/11/18 01:46:23 boyle
** Initial revision
**
** Revision 1.5 1994/07/08 17:03:12 samberg
** Changes to support platform specific additions
**
** Revision 1.4 1994/05/20 19:24:19 ericr
** Moved STALL macro from osfpal.s to here
** Added LDLI macro
**
** Revision 1.3 1994/05/20 18:08:14 ericr
** Changed line comments to C++ style comment character
**
** Revision 1.2 1994/02/28 18:45:51 ericr
** Fixed EGORE related bugs
**
** Revision 1.1 1993/12/16 21:55:05 eric
** Initial revision
**
**
**--
*/
#define STALL \
mfpr r31, pt0
#define NOP \
bis $31, $31, $31
/*
** Align code on an 8K byte page boundary.
*/
#define ALIGN_PAGE \
.align 13
/*
** Align code on a 32 byte block boundary.
*/
#define ALIGN_BLOCK \
.align 5
/*
** Align code on a quadword boundary.
*/
#define ALIGN_BRANCH \
.align 3
/*
** Hardware vectors go in .text 0 sub-segment.
*/
#define HDW_VECTOR(offset) \
. = offset
/*
** Privileged CALL_PAL functions are in .text 1 sub-segment.
*/
#define CALL_PAL_PRIV(vector) \
. = (PAL_CALL_PAL_PRIV_ENTRY+(vector<<6))
/*
** Unprivileged CALL_PAL functions are in .text 1 sub-segment,
** the privileged bit is removed from these vectors.
*/
#define CALL_PAL_UNPRIV(vector) \
. = (PAL_CALL_PAL_UNPRIV_ENTRY+((vector&0x3F)<<6))
/*
** Implements a load "immediate" longword function
*/
#define LDLI(reg,val) \
ldah reg, ((val+0x8000) >> 16)(zero); \
lda reg, (val&0xffff)(reg)
#endif
|