1 /* $OpenBSD: pal.h,v 1.2 2000/11/08 21:27:20 ericj Exp $ */ 2 /* $NetBSD: pal.h,v 1.1 1997/09/06 01:23:53 thorpej Exp $ */ 3 4 /* 5 * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University 6 * All Rights Reserved. 7 * 8 * Permission to use, copy, modify and distribute this software and its 9 * documentation is hereby granted, provided that both the copyright 10 * notice and this permission notice appear in all copies of the 11 * software, derivative works or modified versions, and any portions 12 * thereof, and that both notices appear in supporting documentation. 13 * 14 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 15 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 16 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 17 * 18 * Carnegie Mellon requests users of this software to return to 19 * 20 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 21 * School of Computer Science 22 * Carnegie Mellon University 23 * Pittsburgh PA 15213-3890 24 * 25 * any improvements or extensions that they make and grant Carnegie Mellon 26 * the rights to redistribute these changes. 27 */ 28 29 /* 30 * PAL "function" codes (used as arguments to call_pal instructions). 31 * 32 * Those marked with "P" are privileged, and those marked with "U" 33 * are unprivileged. 34 */ 35 36 /* Common PAL function codes. */ 37 #define PAL_halt 0x0000 /* P */ 38 #define PAL_cflush 0x0001 /* P */ 39 #define PAL_draina 0x0002 /* P */ 40 #define PAL_cserve 0x0009 /* P */ 41 #define PAL_swppal 0x000a /* P */ 42 #define PAL_ipir 0x000d /* P */ 43 #define PAL_bpt 0x0080 /* U */ 44 #define PAL_bugchk 0x0081 /* U */ 45 #define PAL_imb 0x0086 /* U */ 46 #define PAL_rdunique 0x009e /* U */ 47 #define PAL_wrunique 0x009f /* U */ 48 #define PAL_gentrap 0x00aa /* U */ 49 50 /* VMS PAL function codes. */ 51 #define PAL_VMS_ldqp 0x0003 /* P */ 52 #define PAL_VMS_stqp 0x0004 /* P */ 53 #define PAL_VMS_mtpr_fen 0x000c /* P */ 54 #define PAL_VMS_mtpr_ipir 0x000d /* P */ 55 #define PAL_VMS_mfpr_ipl 0x000e /* P */ 56 #define PAL_VMS_mtpr_ipl 0x000f /* P */ 57 #define PAL_VMS_mfpr_mces 0x0010 /* P */ 58 #define PAL_VMS_mtpr_mces 0x0011 /* P */ 59 #define PAL_VMS_mfpr_prbr 0x0013 /* P */ 60 #define PAL_VMS_mtpr_prbr 0x0014 /* P */ 61 #define PAL_VMS_mfpr_ptbr 0x0015 /* P */ 62 #define PAL_VMS_mtpr_scbb 0x0017 /* P */ 63 #define PAL_VMS_mtpr_sirr 0x0018 /* P */ 64 #define PAL_VMS_mtpr_tbia 0x001b /* P */ 65 #define PAL_VMS_mtpr_tbiap 0x001c /* P */ 66 #define PAL_VMS_mtpr_tbis 0x001d /* P */ 67 #define PAL_VMS_mfpr_usp 0x0022 /* P */ 68 #define PAL_VMS_mtpr_usp 0x0023 /* P */ 69 #define PAL_VMS_mfpr_vptb 0x0029 /* P */ 70 #define PAL_VMS_mfpr_whami 0x003f /* P */ 71 #define PAL_VMS_rei 0x0092 /* U */ 72 73 /* OSF/1 PAL function codes. */ 74 #define PAL_OSF1_rdmces 0x0010 /* P */ 75 #define PAL_OSF1_wrmces 0x0011 /* P */ 76 #define PAL_OSF1_wrfen 0x002b /* P */ 77 #define PAL_OSF1_wrvptptr 0x002d /* P */ 78 #define PAL_OSF1_swpctx 0x0030 /* P */ 79 #define PAL_OSF1_wrval 0x0031 /* P */ 80 #define PAL_OSF1_rdval 0x0032 /* P */ 81 #define PAL_OSF1_tbi 0x0033 /* P */ 82 #define PAL_OSF1_wrent 0x0034 /* P */ 83 #define PAL_OSF1_swpipl 0x0035 /* P */ 84 #define PAL_OSF1_rdps 0x0036 /* P */ 85 #define PAL_OSF1_wrkgp 0x0037 /* P */ 86 #define PAL_OSF1_wrusp 0x0038 /* P */ 87 #define PAL_OSF1_wrperfmon 0x0039 /* P */ 88 #define PAL_OSF1_rdusp 0x003a /* P */ 89 #define PAL_OSF1_whami 0x003c /* P */ 90 #define PAL_OSF1_retsys 0x003d /* P */ 91 #define PAL_OSF1_rti 0x003f /* P */ 92 #define PAL_OSF1_callsys 0x0083 /* U */ 93 #define PAL_OSF1_imb 0x0086 /* U */ 94