summaryrefslogtreecommitdiff
path: root/system/alpha/h/ev4.h
blob: afe5d2ec068fc8df77604b35183f1b044d38401f (plain)
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
#ifndef	__EV4_H_LOADED
#define	__EV4_H_LOADED
/*****************************************************************************

       Copyright © 1993, 1994 Digital Equipment Corporation,
                       Maynard, Massachusetts.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided
that the copyright notice and this permission notice appear in all copies
of software and supporting documentation, and that the name of Digital not
be used in advertising or publicity pertaining to distribution of the software
without specific, written prior permission. Digital grants this permission
provided that you prominently mark, as not part of the original, any
modifications made to this software or documentation.

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.

******************************************************************************/

/*
 *  $Id: ev4.h,v 1.1.1.1 1997/10/30 23:27:15 verghese Exp $;
 */

/*
 * $Log: ev4.h,v $
 * Revision 1.1.1.1  1997/10/30 23:27:15  verghese
 * current 10/29/97
 *
 * Revision 1.3  1994/08/05  20:13:47  fdh
 * Updated Copyright header and RCS $Id: identifier.
 *
 * Revision 1.2  1994/06/20  14:18:59  fdh
 * Fixup header file preprocessor #include conditionals.
 *
 * Revision 1.1  1993/06/08  19:56:13  fdh
 * Initial revision
 *
 */



/*
**++
*****************************************************************************
**									    *
**  Copyright (c) 1992, 1993						    *
**  by Digital Equipment Corporation, Maynard, Ma.			    *
** 									    *
**  This software is furnished under a license and may be used and  copied  *
**  only  in  accordance  with  the  terms  of  such  license and with the  *
**  inclusion of the above copyright notice.  This software or  any  other  *
**  copies  thereof may not be provided or otherwise made available to any  *
**  other person.  No title to and ownership of  the  software  is  hereby  *
**  transferred.							    *
** 									    *
**  The information in this software is subject to change  without  notice  *
**  and  should  not  be  construed  as  a commitment by Digital Equipment  *
**  Corporation.							    *
** 									    *
**  Digital assumes no responsibility for the use or  reliability  of  its  *
**  software on equipment which is not supplied by Digital.		    *
**									    *
*****************************************************************************
**
**  FACILITY:
**
**	ev4.h
**
**  MODULE DESCRIPTION:
**
**      DECchip 21064 (EV4) specific definitions
**
**  CREATION DATE:  29-Oct-1992
**
**  DESIGN ISSUES:
**
**      {@tbs@}
**
**  [@optional module tags@]...
**
**  MODIFICATION HISTORY:
**
**      Who	When		What
**	-----	-----------	---------------------------------------------
**      ES	10-Feb-1993	Need physical load lock and store conditional
**	ER	05-Feb-1993	Add HWPCB offset definitions.
**	ES	12-Jan-1993	Some HIRR additions
**	ES	04-Jan-1993	Changed names of BIU_STAT bits
**	ES	16-Dec-1992	Added BIU_STAT and SL_CLR definitions.
**	ER	10-Dec-1992	Added xtbAsm to invalidate all ITB & DTB
**				entries with ASM=0.
**	ER	03-Dec-1992	Added definitions for architecturally reserved
**				opcodes.
**	ER	16-Nov-1992	Changed BIU$M_INIT definition.
**	ER	12-Nov-1992	Added FPR definitions.
**	ER	09-Nov-1992	Added GPR and BIU$M_INIT definitions.
**	ES	09-Nov-1992	Added privileged and unprivileged CALL_PAL
**				entry points.
**	ER	02-Nov-1992	Added MMCSR$M_FAULT bit mask.
**	ER	30-Oct-1992	Added xtbZap to invalidate all ITB & DTB
**				entries.
**
**--
*/

/*
**
**  INTERNAL PROCESSOR REGISTER DEFINITIONS
**
*/

#define IPR$V_PAL	7
#define IPR$M_PAL	0x80
#define IPR$V_ABX	6
#define IPR$M_ABX	0x40
#define IPR$V_IBX	5
#define IPR$M_IBX	0x20
#define IPR$V_INDEX	0
#define IPR$M_INDEX	0x1F

/*
**
**  Ibox IPR Definitions
**
*/

#define tbTag		IPR$M_IBX + 0x0
#define itbPte		IPR$M_IBX + 0x1
#define iccsr		IPR$M_IBX + 0x2
#define itbPteTemp	IPR$M_IBX + 0x3
#define excAddr		IPR$M_IBX + 0x4
#define slRcv		IPR$M_IBX + 0x5
#define itbZap		IPR$M_IBX + 0x6
#define itbAsm		IPR$M_IBX + 0x7
#define itbIs		IPR$M_IBX + 0x8
#define ps		IPR$M_IBX + 0x9
#define excSum		IPR$M_IBX + 0xA
#define palBase		IPR$M_IBX + 0xB
#define hirr		IPR$M_IBX + 0xC
#define sirr		IPR$M_IBX + 0xD
#define astrr		IPR$M_IBX + 0xE
#define hier		IPR$M_IBX + 0x10
#define sier		IPR$M_IBX + 0x11
#define aster		IPR$M_IBX + 0x12
#define slClr		IPR$M_IBX + 0x13
#define slXmit		IPR$M_IBX + 0x16

/*
**
**  Instruction Cache Control and Status Register (ICCSR) Bit Summary
**
**	  Loc	Size	Name	Function
**	 -----	----	----	---------------------------------
**	  <42>	  1	FPE	Floating Point Enable
**	  <41>	  1	MAP	I-stream superpage mapping enable
**	  <40>	  1	HWE	Allow PALRES to be issued in kernel mode
**	  <39>	  1	DI	Dual Issue enable
**	  <38>	  1	BHE	Branch History Enable
**	  <37>	  1	JSE	JSR Stack Enable
**	  <36>	  1	BPE	Branch Prediction Enable
**	  <35>	  1	PIPE	Pipeline enable
**
*/

#define ICCSR$V_FPE	    42
#define ICCSR$M_FPE	    0x0400
#define ICCSR$V_MAP	    41
#define ICCSR$M_MAP	    0x0200
#define ICCSR$V_HWE	    40
#define ICCSR$M_HWE	    0x0100
#define ICCSR$V_DI	    39
#define ICCSR$M_DI	    0x0080
#define ICCSR$V_BHE	    38
#define ICCSR$M_BHE	    0x0040
#define ICCSR$V_JSE	    37
#define ICCSR$M_JSE	    0x0020
#define ICCSR$V_BPE	    36
#define ICCSR$M_BPE	    0x0010
#define ICCSR$V_PIPE	    35
#define ICCSR$M_PIPE	    0x0008

/*
**  We may want to move the ICCSR$M_INIT definition to another module
**  that contains user configurable options.
*/
#define ICCSR$M_INIT	    (ICCSR$M_FPE | ICCSR$M_MAP | ICCSR$M_DI  | \
                             ICCSR$M_BHE | ICCSR$M_JSE | ICCSR$M_BPE | \
                             ICCSR$M_PIPE)
/*
**
**  Exception Summary Register (EXC_SUM) Bit Summary
**
**	 Loc	Size	Name	Function
**	-----	----	----	------------------------------------
**	 <33>	 1	MSK	Exception Register Write Mask window
**	  <8>	 1	IOV	Integer overflow
**	  <7>	 1	INE	Inexact result
**	  <6>	 1	UNF	Underflow
**	  <5>	 1	OVF	Overflow
**	  <4>	 1	DZE	Division by zero
**	  <3>	 1	INV	Invalid operation
**	  <2>	 1	SWC	Software completion
**
*/

#define EXC$V_MSK	33
#define EXC$M_MSK	0x0002
#define EXC$V_IOV	8
#define EXC$M_IOV	0x0100
#define EXC$V_INE	7
#define EXC$M_INE	0x0080
#define EXC$V_UNF	6
#define EXC$M_UNF	0x0040
#define EXC$V_OVF	5
#define EXC$M_OVF	0x0020
#define EXC$V_DZE	4
#define	EXC$M_DZE	0x0010
#define EXC$V_INV	3
#define EXC$M_INV	0x0008
#define	EXC$V_SWC	2
#define EXC$M_SWC	0x0004

/*
**
**  Hardware Interrupt Request Register (HIRR) Bit Summary
**
**	  Loc	Size	Name	Function
**	 -----	----	----	---------------------------------
**	  <13>	  1	SLR	Serial Line interrupt
**	   <9>	  1	PC0	Performance Counter 0 interrupt
**	   <8>	  1	PC1	Performance Counter 1 interrupt
**	   <4>	  1	CRR	Correctable read data interrupt
**	   <3>	  1	ATR	AST interrupt
**	   <2>	  1	SWR	Software interrupt
**	   <1>	  1	HWR	Hardware interrupt
**
**/

#define HIRR$V_SLR	13
#define HIRR$M_SLR	0x2000
#define HIRR$V_PC0	9
#define HIRR$M_PC0	0x0200
#define HIRR$V_PC1	8
#define HIRR$M_PC1	0x0100
#define HIRR$V_CRR	4
#define HIRR$M_CRR	0x0010
#define HIRR$V_ATR	3
#define HIRR$M_ATR	0x0008
#define HIRR$V_SWR	2
#define HIRR$M_SWR	0x0004
#define HIRR$V_HWR	1
#define HIRR$M_HWR	0x0002

#define HIRR$V_IRQ0	10
#define HIRR$V_IRQ1	11
#define HIRR$V_IRQ2	12
#define HIRR$V_IRQ3	5
#define HIRR$V_IRQ4	6
#define HIRR$V_IRQ5	7

/*
**
**  Hardware Interrupt Enable Register (HIER) Write Bit Summary
**
**	  Loc	Size	Name	Function
**	 -----	----	----	---------------------------------
**	  <32>	  1	SLE	Serial Line interrupt enable
**	  <15>	  1	PC1	Performance Counter 1 interrupt enable
**	<14:9>	  6	HIER	Interrupt enables for Irq_h<5:0>
**	   <8>	  1	PC0	Performance Counter 0 interrupt enable
**	   <2>	  1	CRE	Correctable read data interrupt enable
**
**/

#define HIERW$V_SLE	32
#define HIERW$V_PC1	15
#define HIERW$V_PC0	8
#define HIERW$V_CRE	2

/*
**
**  Clear Serial Line Interrupt Register (SL_CLR) Bit Summary
**
**	  Loc	Size	Name	    Function
**	 -----	----	----	    ---------------------------------
**	   <32>	  1	SLC	    W0C -- Clear serial line int request
**	   <15>	  1	PC1	    W0C -- Clear PC1 interrupt request
**	    <8>	  1	PC0	    W0C -- Clear PC0 interrupt request
**	    <2>	  1	CRD	    W0C -- Clear CRD interrupt request
**
*/

#define SL_CLR$V_SLC	    32
#define SL_CLR$V_PC1	    15
#define SL_CLR$V_PC0	    8
#define SL_CLR$V_CRD	    2

/*
**
**  Abox IPR Definitions
**
*/

#define dtbCtl		IPR$M_ABX + 0x0
#define tbCtl		IPR$M_ABX + 0x0
#define dtbPte		IPR$M_ABX + 0x2
#define dtbPteTemp	IPR$M_ABX + 0x3
#define mmcsr		IPR$M_ABX + 0x4
#define va		IPR$M_ABX + 0x5
#define dtbZap		IPR$M_ABX + 0x6
#define dtbAsm		IPR$M_ABX + 0x7
#define dtbIs		IPR$M_ABX + 0x8
#define biuAddr		IPR$M_ABX + 0x9
#define biuStat		IPR$M_ABX + 0xA
#define dcAddr		IPR$M_ABX + 0xB
#define dcStat		IPR$M_ABX + 0xC
#define fillAddr	IPR$M_ABX + 0xD
#define aboxCtl		IPR$M_ABX + 0xE
#define altMode		IPR$M_ABX + 0xF
#define cc		IPR$M_ABX + 0x10
#define ccCtl		IPR$M_ABX + 0x11
#define biuCtl		IPR$M_ABX + 0x12
#define fillSyndrome	IPR$M_ABX + 0x13
#define bcTag		IPR$M_ABX + 0x14
#define flushIc		IPR$M_ABX + 0x15
#define flushIcAsm	IPR$M_ABX + 0x17
#define xtbZap		IPR$M_ABX + IPR$M_IBX + 0x6
#define xtbAsm		IPR$M_ABX + IPR$M_IBX + 0x7

/*
**
**  Memory Management Control and Status Register (MM_CSR) Bit Summary
**
**	  Loc	Size	Name	Function
**	 -----	----	----	---------------------------------
**	<14:9>	  6	OPC	Opcode of faulting instruction
**	 <8:4>	  5	RA	Ra field of faulting instruction
**	   <3>	  1	FOW	Fault on write
**	   <2>	  1	FOR	Fault on read
**	   <1>	  1	ACV	Access violation
**	   <0>	  1	WR	Faulting reference is a write
**
*/

#define	MMCSR$V_OPC	9
#define MMCSR$M_OPC	0x7E00
#define MMCSR$V_RA	4
#define MMCSR$M_RA	0x01F0
#define MMCSR$V_FOW	3
#define MMCSR$M_FOW	0x0008
#define MMCSR$V_FOR	2
#define MMCSR$M_FOR	0x0004
#define MMCSR$V_ACV	1
#define MMCSR$M_ACV	0x0002
#define MMCSR$V_WR	0
#define MMCSR$M_WR	0x0001

#define MMCSR$M_FAULT	0x000E

/*
**
** Abox Control Register (ABOX_CTL) Bit Summary
**
**	  Loc	Size	Name	    Function
**	 -----	----	----	    ---------------------------------
**	  <11>	  1	DC_FHIT	    Dcache Force Hit
**	  <10>	  1	DC_ENA	    Dcache Enable
**	   <6>	  1	EMD_EN	    Limited big endian support enable
**	   <5>	  1	SPE_2	    D-stream superpage 1 enable
**	   <4>	  1	SPE_1	    D-stream superpage 2 enable
**	   <3>	  1	IC_SBUF_EN  Icache Stream Buffer Enable
**	   <2>	  1	CRD_EN	    Corrected Read Data Enable
**	   <1>	  1	MCHK_EN	    Machine Check Enable
**	   <0>	  1	WB_DIS	    Write Buffer unload Disable
**
*/

#define ABOX$V_DC_FHIT	    11
#define ABOX$M_DC_FHIT	    0x0800
#define ABOX$V_DC_ENA	    10
#define	ABOX$M_DC_ENA	    0x0400
#define ABOX$V_EMD_EN	    6
#define ABOX$M_EMD_EN	    0x0040
#define ABOX$V_SPE_2	    5
#define ABOX$M_SPE_2	    0x0020
#define ABOX$V_SPE_1	    4
#define ABOX$M_SPE_1	    0x0010
#define ABOX$V_IC_SBUF_EN   3
#define ABOX$M_IC_SBUF_EN   0x0008
#define ABOX$V_CRD_EN	    2
#define ABOX$M_CRD_EN	    0x0004
#define ABOX$V_MCHK_EN	    1
#define ABOX$M_MCHK_EN	    0x0002
#define ABOX$V_WB_DIS	    0
#define	ABOX$M_WB_DIS	    0x0001

/*
**  We may want to move the ABOX$M_INIT definition to another module
**  that contains user configurable options.
*/
#define	ABOX$M_INIT	    (ABOX$M_DC_ENA | ABOX$M_SPE_2 | ABOX$M_IC_SBUF_EN)

/*
**
**  Bus Interface Unit Control Register (BIU_CTL) Bit Summary
**
**	  Loc	Size	Name	    Function
**	 -----	----	----	    ---------------------------------
**	   <36>	  1	BAD_DP	    Force bad data parity/ECC check bits
**	<35:32>	  4	BC_PA_DIS   Don't cache PA quadrant specified
**	   <31>	  1	BAD_TCP	    Force bad tag parity
**	<30:28>	  3	BC_SIZE	    External cache size
**	<27:13>	 16	BC_WE_CTL   External cache write enable control
**	 <11:8>	  4	BC_WR_SPD   External cache write speed
**	  <7:4>	  4	BC_RD_SPD   External cache read speed
**	    <3>	  1	BC_FHIT	    External cache force hit
**	    <2>	  1	OE	    Output enable
**	    <1>	  1	ECC	    Enable ECC
**	    <0>	  1	BC_ENA	    External cache enable
**
*/

#define	BIU$V_BAD_DP	    36
#define BIU$M_BAD_DP	    0x0010
#define BIU$V_BC_PA_DIS	    32
#define BIU$M_BC_PA_DIS	    0x000F
#define BIU$V_BAD_TCP	    31
#define BIU$M_BAD_TCP	    0x8000
#define BIU$V_BC_SIZE	    28
#define BIU$M_BC_SIZE	    0x7000
#define BIU$V_BC_WE_CTL	    13
#define BIU$M_BC_WE_CTL	    0xFFFE
#define BIU$V_BC_WR_SPD	    8
#define BIU$M_BC_WR_SPD	    0x0F00
#define BIU$V_BC_RD_SPD	    4
#define BIU$M_BC_RD_SPD	    0x00F0
#define BIU$V_BC_FHIT	    3
#define BIU$M_BC_FHIT	    0x0008
#define BIU$V_OE	    2
#define BIU$M_OE	    0x0004
#define BIU$V_ECC	    1
#define BIU$M_ECC	    0x0002
#define BIU$V_BC_ENA	    0
#define BIU$M_BC_ENA	    0x0001

/*
**  We may want to move the BIU$M_INIT definition to another module
**  that contains user configurable options.
*/
#define	BIU$M_INIT	    BIU$M_OE

/*
**
**  Bus Interface Unit Status Register (BIU_STAT) Bit Summary
**
**	  Loc	Size	Name	    Function
**	 -----	----	----	    ---------------------------------
**	   <14>	  1	FILL_SEO    Second error while FILL_ECC or FILL_DPERR
**	<13:12>	  2	FILL_QW	    Used with FILL_ADDR for physical address
**	   <11>	  1	FILL_IRD    Icache fill when FILL_ECC or FILL_DPERR
**	   <10>	  1	FILL_DPERR  Fill parity error or double bit ECC
**	    <9>	  1	FILL_CRD    Corrected read data
**	    <8>	  1	FILL_ECC    ECC error
**	    <7>	  1	BIU_SEO	    Second error while BIU or BC error
**	  <6:4>	  3	BIU_CMD	    Cycle type
**	    <3>	  1	BC_TCPERR   Tag control parity error on external cache
**	    <2>	  1	BC_TPERR    Tag address parity error on external cache
**	    <1>	  1	BIU_SERR    cAck_h pins indicate SOFT_ERROR
**	    <0>	  1	BIU_HERR    cAck_h pins indicate HARD_ERROR
**
*/

#define BIU_STAT$V_FILL_SEO	14
#define BIU_STAT$M_FILL_SEO	0x4000
#define BIU_STAT$V_FILL_CRD	9
#define BIU_STAT$M_FILL_CRD	0x0200
#define	BIU_STAT$V_FILL_ECC	8
#define BIU_STAT$M_FILL_ECC	0x0100
#define BIU_STAT$V_BC_TCPERR	3
#define BIU_STAT$M_BC_TCPERR	0x0008
#define BIU_STAT$V_BC_TPERR	2
#define BIU_STAT$M_BC_TPERR	0x0004
#define BIU_STAT$V_BIU_SERR	1
#define BIU_STAT$M_BIU_SERR	0x0002
#define BIU_STAT$V_BIU_HERR	0
#define BIU_STAT$M_BIU_HERR	0x0001

/*
**
**  General Register Definitions
**
*/

#define	r0		$0
#define r1		$1
#define r2		$2
#define r3		$3
#define r4		$4
#define r5		$5
#define r6		$6
#define r7		$7
#define r8		$8
#define r9		$9
#define r10		$10
#define r11		$11
#define r12		$12
#define r13		$13
#define r14		$14
#define	r15		$15
#define	r16		$16
#define	r17		$17
#define	r18		$18
#define	r19		$19
#define	r20		$20
#define	r21		$21
#define r22		$22
#define r23		$23
#define r24		$24
#define r25		$25
#define r26		$26
#define r27		$27
#define r28		$28
#define r29		$29
#define r30		$30
#define r31		$31

/*
**
**  Floating Point Register Definitions
**
*/

#define f0		$f0
#define f1		$f1
#define f2		$f2
#define f3		$f3
#define f4		$f4
#define f5		$f5
#define f6		$f6
#define f7		$f7
#define f8		$f8
#define f9		$f9
#define f10		$f10
#define f11		$f11
#define f12		$f12
#define f13		$f13
#define f14		$f14
#define f15		$f15
#define f16		$f16
#define f17		$f17
#define f18		$f18
#define f19		$f19
#define f20		$f20
#define f21		$f21
#define f22		$f22
#define f23		$f23
#define f24		$f24
#define f25		$f25
#define f26		$f26
#define f27		$f27
#define f28		$f28
#define f29		$f29
#define f30		$f30
#define f31		$f31

/*
**
**  PAL Temporary Register Definitions
**
*/

#define	pt0		IPR$M_PAL + 0x0
#define	pt1		IPR$M_PAL + 0x1
#define	pt2		IPR$M_PAL + 0x2
#define	pt3		IPR$M_PAL + 0x3
#define	pt4		IPR$M_PAL + 0x4
#define	pt5		IPR$M_PAL + 0x5
#define	pt6		IPR$M_PAL + 0x6
#define	pt7		IPR$M_PAL + 0x7
#define	pt8		IPR$M_PAL + 0x8
#define	pt9		IPR$M_PAL + 0x9
#define	pt10		IPR$M_PAL + 0xA
#define	pt11		IPR$M_PAL + 0xB
#define	pt12		IPR$M_PAL + 0xC
#define	pt13		IPR$M_PAL + 0xD
#define	pt14		IPR$M_PAL + 0XE
#define	pt15		IPR$M_PAL + 0xF
#define	pt16		IPR$M_PAL + 0x10
#define	pt17		IPR$M_PAL + 0x11
#define	pt18		IPR$M_PAL + 0x12
#define	pt19		IPR$M_PAL + 0x13
#define	pt20		IPR$M_PAL + 0x14
#define	pt21		IPR$M_PAL + 0x15
#define	pt22		IPR$M_PAL + 0x16
#define	pt23		IPR$M_PAL + 0x17
#define	pt24		IPR$M_PAL + 0x18
#define	pt25		IPR$M_PAL + 0x19
#define	pt26		IPR$M_PAL + 0x1A
#define	pt27		IPR$M_PAL + 0x1B
#define	pt28		IPR$M_PAL + 0x1C
#define	pt29		IPR$M_PAL + 0x1D
#define	pt30		IPR$M_PAL + 0x1E
#define	pt31		IPR$M_PAL + 0x1F

/*
**
**  DECchip 21064 Privileged Architecture Library Entry Points
**
**	Entry Name	    Offset (Hex)	Length (Instructions)
**
**	RESET		     0000		    8
**	MCHK		     0020		   16
**	ARITH		     0060		   32
**	INTERRUPT	     00E0		   64
**	D_FAULT		     01E0		  128
**	ITB_MISS	     03E0		  256
**	ITB_ACV		     07E0		   64
**	DTB_MISS (Native)    08E0		   64
**	DTB_MISS (PAL)	     09E0		  512
**	UNALIGN		     11E0		  128
**	OPCDEC		     13E0		  256
**	FEN		     17E0		  520
**	CALL_PAL	     2000
**
*/

#define PAL$RESET_ENTRY		    0x0000
#define PAL$MCHK_ENTRY		    0x0020
#define PAL$ARITH_ENTRY		    0x0060
#define PAL$INTERRUPT_ENTRY	    0x00E0
#define PAL$D_FAULT_ENTRY	    0x01E0
#define PAL$ITB_MISS_ENTRY	    0x03E0
#define PAL$ITB_ACV_ENTRY	    0x07E0
#define PAL$NDTB_MISS_ENTRY	    0x08E0
#define PAL$PDTB_MISS_ENTRY	    0x09E0
#define PAL$UNALIGN_ENTRY	    0x11E0
#define PAL$OPCDEC_ENTRY	    0x13E0
#define PAL$FEN_ENTRY		    0x17E0
#define PAL$CALL_PAL_PRIV_ENTRY	    0x2000
#define PAL$CALL_PAL_UNPRIV_ENTRY   0x3000

/*
**
**  DECchip 21064 Parameters
**
*/

#define	CACHE_SIZE		8192
#define	CACHE_BLOCK_SIZE	32

/*
**
** Architecturally Reserved Opcode Definitions
**
*/
#define	mtpr	    hw_mtpr
#define	mfpr	    hw_mfpr

#define	ldl_a	    hw_ldl/a
#define ldq_a	    hw_ldq/a
#define stq_a	    hw_stq/a
#define stl_a	    hw_stl/a

#define ldl_p	    hw_ldl/p
#define ldq_p	    hw_ldq/p
#define stl_p	    hw_stl/p
#define stq_p	    hw_stq/p

/*
** This set defines the physical versions of load locked and store conditional
*/
#define ldl_pa	    hw_ldl/pa
#define ldq_pa	    hw_ldq/pa
#define stl_pa	    hw_stl/pa
#define stq_pa	    hw_stq/pa

/*
**
** Hardware Privileged Process Context Block (HWPCB) offsets
**
*/

#define	HWPCB$Q_KSP		0x00
#define HWPCB$Q_ESP		0x08
#define HWPCB$Q_SSP		0x10
#define HWPCB$Q_USP		0x18
#define HWPCB$Q_PTBR		0x20
#define HWPCB$Q_ASN		0x28
#define HWPCB$Q_AST		0x30
#define HWPCB$Q_FEN		0x38
#define HWPCB$Q_PCC		0x40
#define HWPCB$Q_UNIQUE		0x48
#define HWPCB$Q_IMPURE		0x50

#endif				    /* __EV4_H_LOADED */