From b8612cbda3625e27f109469a1f5416237c97fb41 Mon Sep 17 00:00:00 2001 From: Lisa Hsu Date: Fri, 14 Nov 2003 10:52:42 -0500 Subject: Import changeset --- system/alpha/palcode/macros.h | 137 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 system/alpha/palcode/macros.h (limited to 'system/alpha/palcode/macros.h') diff --git a/system/alpha/palcode/macros.h b/system/alpha/palcode/macros.h new file mode 100644 index 000000000..ab902c06f --- /dev/null +++ b/system/alpha/palcode/macros.h @@ -0,0 +1,137 @@ +/* + * VID: [T1.2] PT: [Fri Apr 21 16:47:16 1995] SF: [macros.h] + * TI: [/sae_users/cruz/bin/vice -iplatform.s -l// -p# -DEB164 -h -m -aeb164 ] + */ +#define __MACROS_LOADED 1 +/* +***************************************************************************** +** * +** Copyright © 1993, 1994 * +** by Digital Equipment Corporation, Maynard, Massachusetts. * +** * +** All Rights Reserved * +** * +** Permission is hereby granted to use, copy, modify and distribute * +** this software and its documentation, in both source code and * +** object code form, and without fee, for the purpose of distribution * +** of this software or modifications of this software within products * +** incorporating an integrated circuit implementing Digital's AXP * +** architecture, regardless of the source of such integrated circuit, * +** provided that the above copyright notice and this permission notice * +** appear in all copies, and that the name of Digital Equipment * +** Corporation not be used in advertising or publicity pertaining to * +** distribution of the document or software without specific, written * +** prior permission. * +** * +** 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. * +** * +** AXP is a trademark of Digital Equipment Corporation. * +** * +***************************************************************************** +** +** FACILITY: +** +** DECchip 21164 PALcode +** +** MODULE: +** +** macros.h +** +** MODULE DESCRIPTION: +** +** DECchip 21164 PALcode macro definitions +** +** AUTHOR: ER +** +** CREATION DATE: 29-Nov-1993 +** +** $Id: macros.h,v 1.1.1.1 1997/10/30 23:27:19 verghese Exp $ +** +** MODIFICATION HISTORY: +** +** $Log: macros.h,v $ +** Revision 1.1.1.1 1997/10/30 23:27:19 verghese +** current 10/29/97 +** +** Revision 1.5 1994/07/08 17:03:12 samberg +** Changes to support platform specific additions +** +** Revision 1.4 1994/05/20 19:24:19 ericr +** Moved STALL macro from osfpal.s to here +** Added LDLI macro +** +** Revision 1.3 1994/05/20 18:08:14 ericr +** Changed line comments to C++ style comment character +** +** Revision 1.2 1994/02/28 18:45:51 ericr +** Fixed EGORE related bugs +** +** Revision 1.1 1993/12/16 21:55:05 eric +** Initial revision +** +** +**-- +*/ + +#define STALL \ + mfpr r31, pt0 + +#define NOP \ + bis $31, $31, $31 + +/* +** Align code on an 8K byte page boundary. +*/ + +#define ALIGN_PAGE \ + .align 13 + +/* +** Align code on a 32 byte block boundary. +*/ + +#define ALIGN_BLOCK \ + .align 5 + +/* +** Align code on a quadword boundary. +*/ + +#define ALIGN_BRANCH \ + .align 3 + +/* +** Hardware vectors go in .text 0 sub-segment. +*/ + +#define HDW_VECTOR(offset) \ + . = offset + +/* +** Privileged CALL_PAL functions are in .text 1 sub-segment. +*/ + +#define CALL_PAL_PRIV(vector) \ + . = (PAL_CALL_PAL_PRIV_ENTRY+(vector<<6)) + +/* +** Unprivileged CALL_PAL functions are in .text 1 sub-segment, +** the privileged bit is removed from these vectors. +*/ + +#define CALL_PAL_UNPRIV(vector) \ + . = (PAL_CALL_PAL_UNPRIV_ENTRY+((vector&0x3F)<<6)) + +/* +** Implements a load "immediate" longword function +*/ +#define LDLI(reg,val) \ + ldah reg, ((val+0x8000) >> 16)(zero); \ + lda reg, (val&0xffff)(reg) + -- cgit v1.2.3