Linux-libre 3.16.85-gnu
[librecmc/linux-libre.git] / arch / mips / include / asm / sgi / sgi.h
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 */