xref: /csrg-svn/sys/vax/include/psl.h (revision 3587)
1*3587Swnj /*	psl.h	4.4	81/04/22	*/
268Sbill 
368Sbill /*
468Sbill  * VAX program status longword
568Sbill  */
668Sbill 
72641Swnj #define	PSL_C		0x00000001	/* carry bit */
82641Swnj #define	PSL_V		0x00000002	/* overflow bit */
92641Swnj #define	PSL_Z		0x00000004	/* zero bit */
102641Swnj #define	PSL_N		0x00000008	/* negative bit */
112641Swnj #define	PSL_ALLCC	0x0000000f	/* all cc bits - unlikely */
122641Swnj #define	PSL_T		0x00000010	/* trace enable bit */
132641Swnj #define	PSL_IV		0x00000020	/* integer overflow enable bit */
142641Swnj #define	PSL_FU		0x00000040	/* floating point underflow enable */
152641Swnj #define	PSL_DV		0x00000080	/* decimal overflow enable bit */
162641Swnj #define	PSL_IPL		0x001f0000	/* interrupt priority level */
172641Swnj #define	PSL_PRVMOD	0x00c00000	/* previous mode (all on is user) */
182641Swnj #define	PSL_CURMOD	0x03000000	/* current mode (all on is user) */
192641Swnj #define	PSL_IS		0x04000000	/* interrupt stack */
202641Swnj #define	PSL_FPD		0x08000000	/* first part done */
2168Sbill #define	PSL_TP		0x40000000	/* trace pending */
2268Sbill #define	PSL_CM		0x80000000	/* compatibility mode */
23*3587Swnj 
24*3587Swnj #define	PSL_MBZ		0x3020ff00	/* must be zero bits */
25*3587Swnj 
26*3587Swnj #define	PSL_USERSET	(PSL_PRVMOD|PSL_CURMOD)
27*3587Swnj #define	PSL_USERCLR	(PSL_IS|PSL_IPL|PSL_MBZ)
28