1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * sgi.h: Definitions specific to SGI machines.
7  *
8  * Copyright (C) 1996 David S. Miller (dm@sgi.com)
9  */
10 #ifndef _ASM_SGI_SGI_H
11 #define _ASM_SGI_SGI_H
12 
13 /* UP=UniProcessor MP=MultiProcessor(capable) */
14 enum sgi_mach {
15 	ip4,	/* R2k UP */
16 	ip5,	/* R2k MP */
17 	ip6,	/* R3k UP */
18 	ip7,	/* R3k MP */
19 	ip9,	/* R3k UP */
20 	ip12,	/* R3kA UP, Indigo */
21 	ip15,	/* R3kA MP */
22 	ip17,	/* R4K UP */
23 	ip19,	/* R4K MP */
24 	ip20,	/* R4K UP, Indigo */
25 	ip21,	/* TFP MP */
26 	ip22,	/* R4x00 UP, Indigo2 */
27 	ip25,	/* R10k MP */
28 	ip26,	/* TFP UP, Indigo2 */
29 	ip27,	/* R10k MP, R12k MP, Origin */
30 	ip28,	/* R10k UP, Indigo2 */
31 	ip30,	/* Octane */
32 	ip32,	/* O2 */
33 };
34 
35 extern enum sgi_mach sgimach;
36 extern void sgi_sysinit(void);
37 
38 /* Many I/O space registers are byte sized and are contained within
39  * one byte per word, specifically the MSB, this macro helps out.
40  */
41 #ifdef __MIPSEL__
42 #define SGI_MSB(regaddr)   (regaddr)
43 #else
44 #define SGI_MSB(regaddr)   ((regaddr) | 0x3)
45 #endif
46 
47 #endif /* _ASM_SGI_SGI_H */
48