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