xref: /csrg-svn/sys/vax/include/psl.h (revision 32864)
123270Smckusick /*
229193Smckusick  * Copyright (c) 1982, 1986 Regents of the University of California.
323270Smckusick  * All rights reserved.  The Berkeley software License Agreement
423270Smckusick  * specifies the terms and conditions for redistribution.
523270Smckusick  *
6*32864Skarels  *	@(#)psl.h	7.2 (Berkeley) 12/10/87
723270Smckusick  */
868Sbill 
968Sbill /*
1068Sbill  * VAX program status longword
1168Sbill  */
1268Sbill 
132641Swnj #define	PSL_C		0x00000001	/* carry bit */
142641Swnj #define	PSL_V		0x00000002	/* overflow bit */
152641Swnj #define	PSL_Z		0x00000004	/* zero bit */
162641Swnj #define	PSL_N		0x00000008	/* negative bit */
172641Swnj #define	PSL_ALLCC	0x0000000f	/* all cc bits - unlikely */
182641Swnj #define	PSL_T		0x00000010	/* trace enable bit */
192641Swnj #define	PSL_IV		0x00000020	/* integer overflow enable bit */
202641Swnj #define	PSL_FU		0x00000040	/* floating point underflow enable */
212641Swnj #define	PSL_DV		0x00000080	/* decimal overflow enable bit */
222641Swnj #define	PSL_IPL		0x001f0000	/* interrupt priority level */
232641Swnj #define	PSL_PRVMOD	0x00c00000	/* previous mode (all on is user) */
242641Swnj #define	PSL_CURMOD	0x03000000	/* current mode (all on is user) */
252641Swnj #define	PSL_IS		0x04000000	/* interrupt stack */
262641Swnj #define	PSL_FPD		0x08000000	/* first part done */
2768Sbill #define	PSL_TP		0x40000000	/* trace pending */
2868Sbill #define	PSL_CM		0x80000000	/* compatibility mode */
293587Swnj 
303587Swnj #define	PSL_MBZ		0x3020ff00	/* must be zero bits */
313587Swnj 
323587Swnj #define	PSL_USERSET	(PSL_PRVMOD|PSL_CURMOD)
333587Swnj #define	PSL_USERCLR	(PSL_IS|PSL_IPL|PSL_MBZ)
34*32864Skarels #define	PSL_CM_CLR	(PSL_FPD|PSL_DV|PSL_FU|PSL_IV)
35