fromHudsonMacros.h revision 7997
17997Ssaidi@eecs.umich.edu#ifndef HUDSON_MACROS_LOADED 27997Ssaidi@eecs.umich.edu#define HUDSON_MACROS_LOADED 1 37997Ssaidi@eecs.umich.edu 47997Ssaidi@eecs.umich.edu/* 57997Ssaidi@eecs.umich.edu * VID: [T1.2] PT: [Fri Apr 21 16:47:16 1995] SF: [macros.h] 67997Ssaidi@eecs.umich.edu * TI: [/sae_users/cruz/bin/vice -iplatform.s -l// -p# -DEB164 -h -m -aeb164 ] 77997Ssaidi@eecs.umich.edu */ 87997Ssaidi@eecs.umich.edu/* 97997Ssaidi@eecs.umich.edu***************************************************************************** 107997Ssaidi@eecs.umich.edu** * 117997Ssaidi@eecs.umich.edu** Copyright � 1993, 1994 * 127997Ssaidi@eecs.umich.edu** by Digital Equipment Corporation, Maynard, Massachusetts. * 137997Ssaidi@eecs.umich.edu** * 147997Ssaidi@eecs.umich.edu** All Rights Reserved * 157997Ssaidi@eecs.umich.edu** * 167997Ssaidi@eecs.umich.edu** Permission is hereby granted to use, copy, modify and distribute * 177997Ssaidi@eecs.umich.edu** this software and its documentation, in both source code and * 187997Ssaidi@eecs.umich.edu** object code form, and without fee, for the purpose of distribution * 197997Ssaidi@eecs.umich.edu** of this software or modifications of this software within products * 207997Ssaidi@eecs.umich.edu** incorporating an integrated circuit implementing Digital's AXP * 217997Ssaidi@eecs.umich.edu** architecture, regardless of the source of such integrated circuit, * 227997Ssaidi@eecs.umich.edu** provided that the above copyright notice and this permission notice * 237997Ssaidi@eecs.umich.edu** appear in all copies, and that the name of Digital Equipment * 247997Ssaidi@eecs.umich.edu** Corporation not be used in advertising or publicity pertaining to * 257997Ssaidi@eecs.umich.edu** distribution of the document or software without specific, written * 267997Ssaidi@eecs.umich.edu** prior permission. * 277997Ssaidi@eecs.umich.edu** * 287997Ssaidi@eecs.umich.edu** Digital Equipment Corporation disclaims all warranties and/or * 297997Ssaidi@eecs.umich.edu** guarantees with regard to this software, including all implied * 307997Ssaidi@eecs.umich.edu** warranties of fitness for a particular purpose and merchantability, * 317997Ssaidi@eecs.umich.edu** and makes no representations regarding the use of, or the results * 327997Ssaidi@eecs.umich.edu** of the use of, the software and documentation in terms of correctness, * 337997Ssaidi@eecs.umich.edu** accuracy, reliability, currentness or otherwise; and you rely on * 347997Ssaidi@eecs.umich.edu** the software, documentation and results solely at your own risk. * 357997Ssaidi@eecs.umich.edu** * 367997Ssaidi@eecs.umich.edu** AXP is a trademark of Digital Equipment Corporation. * 377997Ssaidi@eecs.umich.edu** * 387997Ssaidi@eecs.umich.edu***************************************************************************** 397997Ssaidi@eecs.umich.edu** 407997Ssaidi@eecs.umich.edu** FACILITY: 417997Ssaidi@eecs.umich.edu** 427997Ssaidi@eecs.umich.edu** DECchip 21164 PALcode 437997Ssaidi@eecs.umich.edu** 447997Ssaidi@eecs.umich.edu** MODULE: 457997Ssaidi@eecs.umich.edu** 467997Ssaidi@eecs.umich.edu** macros.h 477997Ssaidi@eecs.umich.edu** 487997Ssaidi@eecs.umich.edu** MODULE DESCRIPTION: 497997Ssaidi@eecs.umich.edu** 507997Ssaidi@eecs.umich.edu** DECchip 21164 PALcode macro definitions 517997Ssaidi@eecs.umich.edu** 527997Ssaidi@eecs.umich.edu** AUTHOR: ER 537997Ssaidi@eecs.umich.edu** 547997Ssaidi@eecs.umich.edu** CREATION DATE: 29-Nov-1993 557997Ssaidi@eecs.umich.edu** 567997Ssaidi@eecs.umich.edu** $Id: fromHudsonMacros.h,v 1.1.1.1 1997/10/30 23:27:19 verghese Exp $ 577997Ssaidi@eecs.umich.edu** 587997Ssaidi@eecs.umich.edu** MODIFICATION HISTORY: 597997Ssaidi@eecs.umich.edu** 607997Ssaidi@eecs.umich.edu** $Log: fromHudsonMacros.h,v $ 617997Ssaidi@eecs.umich.edu** Revision 1.1.1.1 1997/10/30 23:27:19 verghese 627997Ssaidi@eecs.umich.edu** current 10/29/97 637997Ssaidi@eecs.umich.edu** 647997Ssaidi@eecs.umich.edu** Revision 1.1 1995/11/18 01:46:23 boyle 657997Ssaidi@eecs.umich.edu** Initial revision 667997Ssaidi@eecs.umich.edu** 677997Ssaidi@eecs.umich.edu** Revision 1.5 1994/07/08 17:03:12 samberg 687997Ssaidi@eecs.umich.edu** Changes to support platform specific additions 697997Ssaidi@eecs.umich.edu** 707997Ssaidi@eecs.umich.edu** Revision 1.4 1994/05/20 19:24:19 ericr 717997Ssaidi@eecs.umich.edu** Moved STALL macro from osfpal.s to here 727997Ssaidi@eecs.umich.edu** Added LDLI macro 737997Ssaidi@eecs.umich.edu** 747997Ssaidi@eecs.umich.edu** Revision 1.3 1994/05/20 18:08:14 ericr 757997Ssaidi@eecs.umich.edu** Changed line comments to C++ style comment character 767997Ssaidi@eecs.umich.edu** 777997Ssaidi@eecs.umich.edu** Revision 1.2 1994/02/28 18:45:51 ericr 787997Ssaidi@eecs.umich.edu** Fixed EGORE related bugs 797997Ssaidi@eecs.umich.edu** 807997Ssaidi@eecs.umich.edu** Revision 1.1 1993/12/16 21:55:05 eric 817997Ssaidi@eecs.umich.edu** Initial revision 827997Ssaidi@eecs.umich.edu** 837997Ssaidi@eecs.umich.edu** 847997Ssaidi@eecs.umich.edu**-- 857997Ssaidi@eecs.umich.edu*/ 867997Ssaidi@eecs.umich.edu 877997Ssaidi@eecs.umich.edu#define STALL \ 887997Ssaidi@eecs.umich.edu mfpr r31, pt0 897997Ssaidi@eecs.umich.edu 907997Ssaidi@eecs.umich.edu#define NOP \ 917997Ssaidi@eecs.umich.edu bis $31, $31, $31 927997Ssaidi@eecs.umich.edu 937997Ssaidi@eecs.umich.edu/* 947997Ssaidi@eecs.umich.edu** Align code on an 8K byte page boundary. 957997Ssaidi@eecs.umich.edu*/ 967997Ssaidi@eecs.umich.edu 977997Ssaidi@eecs.umich.edu#define ALIGN_PAGE \ 987997Ssaidi@eecs.umich.edu .align 13 997997Ssaidi@eecs.umich.edu 1007997Ssaidi@eecs.umich.edu/* 1017997Ssaidi@eecs.umich.edu** Align code on a 32 byte block boundary. 1027997Ssaidi@eecs.umich.edu*/ 1037997Ssaidi@eecs.umich.edu 1047997Ssaidi@eecs.umich.edu#define ALIGN_BLOCK \ 1057997Ssaidi@eecs.umich.edu .align 5 1067997Ssaidi@eecs.umich.edu 1077997Ssaidi@eecs.umich.edu/* 1087997Ssaidi@eecs.umich.edu** Align code on a quadword boundary. 1097997Ssaidi@eecs.umich.edu*/ 1107997Ssaidi@eecs.umich.edu 1117997Ssaidi@eecs.umich.edu#define ALIGN_BRANCH \ 1127997Ssaidi@eecs.umich.edu .align 3 1137997Ssaidi@eecs.umich.edu 1147997Ssaidi@eecs.umich.edu/* 1157997Ssaidi@eecs.umich.edu** Hardware vectors go in .text 0 sub-segment. 1167997Ssaidi@eecs.umich.edu*/ 1177997Ssaidi@eecs.umich.edu 1187997Ssaidi@eecs.umich.edu#define HDW_VECTOR(offset) \ 1197997Ssaidi@eecs.umich.edu . = offset 1207997Ssaidi@eecs.umich.edu 1217997Ssaidi@eecs.umich.edu/* 1227997Ssaidi@eecs.umich.edu** Privileged CALL_PAL functions are in .text 1 sub-segment. 1237997Ssaidi@eecs.umich.edu*/ 1247997Ssaidi@eecs.umich.edu 1257997Ssaidi@eecs.umich.edu#define CALL_PAL_PRIV(vector) \ 1267997Ssaidi@eecs.umich.edu . = (PAL_CALL_PAL_PRIV_ENTRY+(vector<<6)) 1277997Ssaidi@eecs.umich.edu 1287997Ssaidi@eecs.umich.edu/* 1297997Ssaidi@eecs.umich.edu** Unprivileged CALL_PAL functions are in .text 1 sub-segment, 1307997Ssaidi@eecs.umich.edu** the privileged bit is removed from these vectors. 1317997Ssaidi@eecs.umich.edu*/ 1327997Ssaidi@eecs.umich.edu 1337997Ssaidi@eecs.umich.edu#define CALL_PAL_UNPRIV(vector) \ 1347997Ssaidi@eecs.umich.edu . = (PAL_CALL_PAL_UNPRIV_ENTRY+((vector&0x3F)<<6)) 1357997Ssaidi@eecs.umich.edu 1367997Ssaidi@eecs.umich.edu/* 1377997Ssaidi@eecs.umich.edu** Implements a load "immediate" longword function 1387997Ssaidi@eecs.umich.edu*/ 1397997Ssaidi@eecs.umich.edu#define LDLI(reg,val) \ 1407997Ssaidi@eecs.umich.edu ldah reg, ((val+0x8000) >> 16)(zero); \ 1417997Ssaidi@eecs.umich.edu lda reg, (val&0xffff)(reg) 1427997Ssaidi@eecs.umich.edu 1437997Ssaidi@eecs.umich.edu 1447997Ssaidi@eecs.umich.edu 1457997Ssaidi@eecs.umich.edu#endif 146