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) */
14enum 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,	/* R8k/TFP MP */
26	ip22,	/* R4x00 UP, Indy, Indigo2 */
27	ip25,	/* R10k MP */
28	ip26,	/* R8k/TFP UP, Indigo2 */
29	ip27,	/* R10k MP, R12k MP, R14k MP, Origin 200/2k, Onyx2 */
30	ip28,	/* R10k UP, Indigo2 Impact R10k */
31	ip30,	/* R10k MP, R12k MP, R14k MP, Octane */
32	ip32,	/* R5k UP, RM5200 UP, RM7k UP, R10k UP, R12k UP, O2 */
33	ip35,   /* R14k MP, R16k MP, Origin 300/3k, Onyx3, Fuel, Tezro */
34};
35
36extern enum sgi_mach sgimach;
37extern void sgi_sysinit(void);
38
39/* Many I/O space registers are byte sized and are contained within
40 * one byte per word, specifically the MSB, this macro helps out.
41 */
42#ifdef __MIPSEL__
43#define SGI_MSB(regaddr)   (regaddr)
44#else
45#define SGI_MSB(regaddr)   ((regaddr) | 0x3)
46#endif
47
48#endif /* _ASM_SGI_SGI_H */
49