xref: /original-bsd/sys/vax/include/psl.h (revision e66a5d85)
1 /*-
2  * Copyright (c) 1982, 1986 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.proprietary.c%
6  *
7  *	@(#)psl.h	7.3 (Berkeley) 05/08/91
8  */
9 
10 /*
11  * VAX program status longword
12  */
13 
14 #define	PSL_C		0x00000001	/* carry bit */
15 #define	PSL_V		0x00000002	/* overflow bit */
16 #define	PSL_Z		0x00000004	/* zero bit */
17 #define	PSL_N		0x00000008	/* negative bit */
18 #define	PSL_ALLCC	0x0000000f	/* all cc bits - unlikely */
19 #define	PSL_T		0x00000010	/* trace enable bit */
20 #define	PSL_IV		0x00000020	/* integer overflow enable bit */
21 #define	PSL_FU		0x00000040	/* floating point underflow enable */
22 #define	PSL_DV		0x00000080	/* decimal overflow enable bit */
23 #define	PSL_IPL		0x001f0000	/* interrupt priority level */
24 #define	PSL_PRVMOD	0x00c00000	/* previous mode (all on is user) */
25 #define	PSL_CURMOD	0x03000000	/* current mode (all on is user) */
26 #define	PSL_IS		0x04000000	/* interrupt stack */
27 #define	PSL_FPD		0x08000000	/* first part done */
28 #define	PSL_TP		0x40000000	/* trace pending */
29 #define	PSL_CM		0x80000000	/* compatibility mode */
30 
31 #define	PSL_MBZ		0x3020ff00	/* must be zero bits */
32 
33 #define	PSL_USERSET	(PSL_PRVMOD|PSL_CURMOD)
34 #define	PSL_USERCLR	(PSL_IS|PSL_IPL|PSL_MBZ)
35 #define	PSL_CM_CLR	(PSL_FPD|PSL_DV|PSL_FU|PSL_IV)
36