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