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