xref: /csrg-svn/sys/vax/include/psl.h (revision 49436)
1*49436Sbostic /*-
2*49436Sbostic  * Copyright (c) 1982, 1986 The Regents of the University of California.
3*49436Sbostic  * All rights reserved.
423270Smckusick  *
5*49436Sbostic  * %sccs.include.proprietary.c%
6*49436Sbostic  *
7*49436Sbostic  *	@(#)psl.h	7.3 (Berkeley) 05/08/91
823270Smckusick  */
968Sbill 
1068Sbill /*
1168Sbill  * VAX program status longword
1268Sbill  */
1368Sbill 
142641Swnj #define	PSL_C		0x00000001	/* carry bit */
152641Swnj #define	PSL_V		0x00000002	/* overflow bit */
162641Swnj #define	PSL_Z		0x00000004	/* zero bit */
172641Swnj #define	PSL_N		0x00000008	/* negative bit */
182641Swnj #define	PSL_ALLCC	0x0000000f	/* all cc bits - unlikely */
192641Swnj #define	PSL_T		0x00000010	/* trace enable bit */
202641Swnj #define	PSL_IV		0x00000020	/* integer overflow enable bit */
212641Swnj #define	PSL_FU		0x00000040	/* floating point underflow enable */
222641Swnj #define	PSL_DV		0x00000080	/* decimal overflow enable bit */
232641Swnj #define	PSL_IPL		0x001f0000	/* interrupt priority level */
242641Swnj #define	PSL_PRVMOD	0x00c00000	/* previous mode (all on is user) */
252641Swnj #define	PSL_CURMOD	0x03000000	/* current mode (all on is user) */
262641Swnj #define	PSL_IS		0x04000000	/* interrupt stack */
272641Swnj #define	PSL_FPD		0x08000000	/* first part done */
2868Sbill #define	PSL_TP		0x40000000	/* trace pending */
2968Sbill #define	PSL_CM		0x80000000	/* compatibility mode */
303587Swnj 
313587Swnj #define	PSL_MBZ		0x3020ff00	/* must be zero bits */
323587Swnj 
333587Swnj #define	PSL_USERSET	(PSL_PRVMOD|PSL_CURMOD)
343587Swnj #define	PSL_USERCLR	(PSL_IS|PSL_IPL|PSL_MBZ)
3532864Skarels #define	PSL_CM_CLR	(PSL_FPD|PSL_DV|PSL_FU|PSL_IV)
36