fromHudsonMacros.h revision 8012
18012Ssaidi@eecs.umich.edu/*
28012Ssaidi@eecs.umich.eduCopyright 1993, 1994 Hewlett-Packard Development Company, L.P.
38012Ssaidi@eecs.umich.edu
48012Ssaidi@eecs.umich.eduPermission is hereby granted, free of charge, to any person obtaining a copy of
58012Ssaidi@eecs.umich.eduthis software and associated documentation files (the "Software"), to deal in
68012Ssaidi@eecs.umich.eduthe Software without restriction, including without limitation the rights to
78012Ssaidi@eecs.umich.eduuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
88012Ssaidi@eecs.umich.eduof the Software, and to permit persons to whom the Software is furnished to do
98012Ssaidi@eecs.umich.eduso, subject to the following conditions:
108012Ssaidi@eecs.umich.edu
118012Ssaidi@eecs.umich.eduThe above copyright notice and this permission notice shall be included in all
128012Ssaidi@eecs.umich.educopies or substantial portions of the Software.
138012Ssaidi@eecs.umich.edu
148012Ssaidi@eecs.umich.eduTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
158012Ssaidi@eecs.umich.eduIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
168012Ssaidi@eecs.umich.eduFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
178012Ssaidi@eecs.umich.eduAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
188012Ssaidi@eecs.umich.eduLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
198012Ssaidi@eecs.umich.eduOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
208012Ssaidi@eecs.umich.eduSOFTWARE.
218012Ssaidi@eecs.umich.edu*/
228012Ssaidi@eecs.umich.edu
237997Ssaidi@eecs.umich.edu#ifndef HUDSON_MACROS_LOADED
247997Ssaidi@eecs.umich.edu#define	HUDSON_MACROS_LOADED	    1
257997Ssaidi@eecs.umich.edu
267997Ssaidi@eecs.umich.edu/*
277997Ssaidi@eecs.umich.edu *      VID: [T1.2] PT: [Fri Apr 21 16:47:16 1995] SF: [macros.h]
287997Ssaidi@eecs.umich.edu *       TI: [/sae_users/cruz/bin/vice -iplatform.s -l// -p# -DEB164 -h -m -aeb164 ]
297997Ssaidi@eecs.umich.edu */
307997Ssaidi@eecs.umich.edu/*
317997Ssaidi@eecs.umich.edu**
327997Ssaidi@eecs.umich.edu**  FACILITY:
337997Ssaidi@eecs.umich.edu**
347997Ssaidi@eecs.umich.edu**	DECchip 21164 PALcode
357997Ssaidi@eecs.umich.edu**
367997Ssaidi@eecs.umich.edu**  MODULE:
377997Ssaidi@eecs.umich.edu**
387997Ssaidi@eecs.umich.edu**	macros.h
397997Ssaidi@eecs.umich.edu**
407997Ssaidi@eecs.umich.edu**  MODULE DESCRIPTION:
417997Ssaidi@eecs.umich.edu**
427997Ssaidi@eecs.umich.edu**      DECchip 21164 PALcode macro definitions
437997Ssaidi@eecs.umich.edu**
447997Ssaidi@eecs.umich.edu**  AUTHOR: ER
457997Ssaidi@eecs.umich.edu**
467997Ssaidi@eecs.umich.edu**  CREATION DATE:  29-Nov-1993
477997Ssaidi@eecs.umich.edu**
487997Ssaidi@eecs.umich.edu**  $Id: fromHudsonMacros.h,v 1.1.1.1 1997/10/30 23:27:19 verghese Exp $
497997Ssaidi@eecs.umich.edu**
507997Ssaidi@eecs.umich.edu**  MODIFICATION HISTORY:
517997Ssaidi@eecs.umich.edu**
527997Ssaidi@eecs.umich.edu**  $Log: fromHudsonMacros.h,v $
537997Ssaidi@eecs.umich.edu**  Revision 1.1.1.1  1997/10/30 23:27:19  verghese
547997Ssaidi@eecs.umich.edu**  current 10/29/97
557997Ssaidi@eecs.umich.edu**
567997Ssaidi@eecs.umich.edu**  Revision 1.1  1995/11/18 01:46:23  boyle
577997Ssaidi@eecs.umich.edu**  Initial revision
587997Ssaidi@eecs.umich.edu**
597997Ssaidi@eecs.umich.edu**  Revision 1.5  1994/07/08  17:03:12  samberg
607997Ssaidi@eecs.umich.edu**  Changes to support platform specific additions
617997Ssaidi@eecs.umich.edu**
627997Ssaidi@eecs.umich.edu**  Revision 1.4  1994/05/20  19:24:19  ericr
637997Ssaidi@eecs.umich.edu**  Moved STALL macro from osfpal.s to here
647997Ssaidi@eecs.umich.edu**  Added LDLI macro
657997Ssaidi@eecs.umich.edu**
667997Ssaidi@eecs.umich.edu**  Revision 1.3  1994/05/20  18:08:14  ericr
677997Ssaidi@eecs.umich.edu**  Changed line comments to C++ style comment character
687997Ssaidi@eecs.umich.edu**
697997Ssaidi@eecs.umich.edu**  Revision 1.2  1994/02/28  18:45:51  ericr
707997Ssaidi@eecs.umich.edu**  Fixed EGORE related bugs
717997Ssaidi@eecs.umich.edu**
727997Ssaidi@eecs.umich.edu**  Revision 1.1  1993/12/16  21:55:05  eric
737997Ssaidi@eecs.umich.edu**  Initial revision
747997Ssaidi@eecs.umich.edu**
757997Ssaidi@eecs.umich.edu**
767997Ssaidi@eecs.umich.edu**--
777997Ssaidi@eecs.umich.edu*/
787997Ssaidi@eecs.umich.edu
797997Ssaidi@eecs.umich.edu#define	STALL \
807997Ssaidi@eecs.umich.edu    mfpr    r31, pt0
817997Ssaidi@eecs.umich.edu
827997Ssaidi@eecs.umich.edu#define	NOP \
837997Ssaidi@eecs.umich.edu    bis	    $31, $31, $31
847997Ssaidi@eecs.umich.edu
857997Ssaidi@eecs.umich.edu/*
867997Ssaidi@eecs.umich.edu** Align code on an 8K byte page boundary.
877997Ssaidi@eecs.umich.edu*/
887997Ssaidi@eecs.umich.edu
897997Ssaidi@eecs.umich.edu#define	ALIGN_PAGE \
907997Ssaidi@eecs.umich.edu    .align  13
917997Ssaidi@eecs.umich.edu
927997Ssaidi@eecs.umich.edu/*
937997Ssaidi@eecs.umich.edu** Align code on a 32 byte block boundary.
947997Ssaidi@eecs.umich.edu*/
957997Ssaidi@eecs.umich.edu
967997Ssaidi@eecs.umich.edu#define	ALIGN_BLOCK \
977997Ssaidi@eecs.umich.edu    .align  5
987997Ssaidi@eecs.umich.edu
997997Ssaidi@eecs.umich.edu/*
1007997Ssaidi@eecs.umich.edu** Align code on a quadword boundary.
1017997Ssaidi@eecs.umich.edu*/
1027997Ssaidi@eecs.umich.edu
1037997Ssaidi@eecs.umich.edu#define ALIGN_BRANCH \
1047997Ssaidi@eecs.umich.edu    .align  3
1057997Ssaidi@eecs.umich.edu
1067997Ssaidi@eecs.umich.edu/*
1077997Ssaidi@eecs.umich.edu** Hardware vectors go in .text 0 sub-segment.
1087997Ssaidi@eecs.umich.edu*/
1097997Ssaidi@eecs.umich.edu
1107997Ssaidi@eecs.umich.edu#define	HDW_VECTOR(offset) \
1117997Ssaidi@eecs.umich.edu    . = offset
1127997Ssaidi@eecs.umich.edu
1137997Ssaidi@eecs.umich.edu/*
1147997Ssaidi@eecs.umich.edu** Privileged CALL_PAL functions are in .text 1 sub-segment.
1157997Ssaidi@eecs.umich.edu*/
1167997Ssaidi@eecs.umich.edu
1177997Ssaidi@eecs.umich.edu#define	CALL_PAL_PRIV(vector) \
1187997Ssaidi@eecs.umich.edu    . = (PAL_CALL_PAL_PRIV_ENTRY+(vector<<6))
1197997Ssaidi@eecs.umich.edu
1207997Ssaidi@eecs.umich.edu/*
1217997Ssaidi@eecs.umich.edu** Unprivileged CALL_PAL functions are in .text 1 sub-segment,
1227997Ssaidi@eecs.umich.edu** the privileged bit is removed from these vectors.
1237997Ssaidi@eecs.umich.edu*/
1247997Ssaidi@eecs.umich.edu
1257997Ssaidi@eecs.umich.edu#define CALL_PAL_UNPRIV(vector) \
1267997Ssaidi@eecs.umich.edu    . = (PAL_CALL_PAL_UNPRIV_ENTRY+((vector&0x3F)<<6))
1277997Ssaidi@eecs.umich.edu
1287997Ssaidi@eecs.umich.edu/*
1297997Ssaidi@eecs.umich.edu** Implements a load "immediate" longword function
1307997Ssaidi@eecs.umich.edu*/
1317997Ssaidi@eecs.umich.edu#define LDLI(reg,val) \
1327997Ssaidi@eecs.umich.edu        ldah	reg, ((val+0x8000) >> 16)(zero); \
1337997Ssaidi@eecs.umich.edu        lda	reg, (val&0xffff)(reg)
1347997Ssaidi@eecs.umich.edu
1357997Ssaidi@eecs.umich.edu
1367997Ssaidi@eecs.umich.edu
1377997Ssaidi@eecs.umich.edu#endif
138