xref: /openbsd/sys/arch/m88k/include/psl.h (revision 7b36286a)
1 /*	$OpenBSD: psl.h,v 1.6 2008/07/28 17:50:09 miod Exp $ */
2 /*
3  * Copyright (c) 1996 Nivas Madhur
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 3. All advertising materials mentioning features or use of this software
15  *    must display the following acknowledgement:
16  *      This product includes software developed by Nivas Madhur.
17  * 4. The name of the author may not be used to endorse or promote products
18  *    derived from this software without specific prior written permission
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  *
31  */
32 /*
33  * Mach Operating System
34  * Copyright (c) 1991 Carnegie Mellon University
35  * Copyright (c) 1991 OMRON Corporation
36  * All Rights Reserved.
37  *
38  * Permission to use, copy, modify and distribute this software and its
39  * documentation is hereby granted, provided that both the copyright
40  * notice and this permission notice appear in all copies of the
41  * software, derivative works or modified versions, and any portions
42  * thereof, and that both notices appear in supporting documentation.
43  *
44  */
45 
46 #ifndef __M88K_PSL_H__
47 #define __M88K_PSL_H__
48 
49 /*
50  * 881x0 control registers
51  */
52 
53 /*
54  * processor identification register (PID)
55  */
56 #define PID_ARN		0x0000ff00	/* architectural revision number */
57 #define	ARN_SHIFT		8
58 #define	ARN_88100		0x00
59 #define	ARN_88110		0x01
60 #define PID_VN		0x000000fe	/* version number */
61 #define	VN_SHIFT		1
62 #define PID_MC		0x00000001	/* 88100 master/checker mode */
63 
64 /*
65  * processor status register
66  */
67 
68 #define PSR_MODE	0x80000000	/* supervisor/user mode */
69 #define PSR_BO		0x40000000	/* byte-ordering 0:big 1:little */
70 #define PSR_SER		0x20000000	/* 88110 serial mode */
71 #define PSR_C		0x10000000	/* carry */
72 #define PSR_SGN		0x04000000	/* 88110 Signed Immediate mode */
73 #define PSR_SRM		0x02000000	/* 88110 Serialize Memory */
74 #define PSR_TRACE	0x00800000	/* 88110 hardware trace */
75 #define PSR_SFD		0x000003e0	/* SFU disable */
76 #define PSR_SFD2	0x00000010	/* 88110 SFU2 (Graphics) disable */
77 #define PSR_SFD1	0x00000008	/* SFU1 (FPU) disable */
78 #define PSR_MXM		0x00000004	/* misaligned access enable */
79 #define PSR_IND		0x00000002	/* interrupt disable */
80 #define PSR_SFRZ	0x00000001	/* shadow freeze */
81 
82 /* bits userland is not allowed to change */
83 #define	PSR_USERSTATIC	(PSR_MODE | PSR_BO | PSR_SGN | PSR_SRM | PSR_SFD | \
84 			 PSR_MXM | PSR_IND | PSR_SFRZ)
85 
86 #define FIP_V		0x00000002	/* valid */
87 #define FIP_E		0x00000001	/* exception */
88 #define FIP_ADDR	0xfffffffc	/* address mask */
89 #define NIP_V		0x00000002	/* valid */
90 #define NIP_E		0x00000001	/* exception */
91 #define NIP_ADDR	0xfffffffc	/* address mask */
92 #define XIP_V		0x00000002	/* valid */
93 #define XIP_E		0x00000001	/* exception */
94 #define XIP_ADDR	0xfffffffc	/* address mask */
95 
96 #endif /* __M88K_PSL_H__ */
97