root/sys/arch/sgimips/include/machtype.h
/*      $NetBSD: machtype.h,v 1.7 2009/02/10 06:10:50 rumble Exp $      */

/*
 * Copyright (c) 2001 Rafal K. Boni
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef __MACHTYPE__
#define __MACHTYPE__

/*
 * SGI machine types and known subtypes.  Info cribbed from ../README.IPn
 */
#define MACH_SGI_IP2            2       /* IRIS 3000 */
#define MACH_SGI_IP4            4       /* Generic 4D/50-85 */
#define MACH_SGI_IP5            5       /* 4D/1x0 */
#define MACH_SGI_IP6            6       /* 4D/20 */
#define MACH_SGI_IP7            7       /* 4D/2x0, 4D/3x0, 4D/4x0 */
#define MACH_SGI_IP9            9       /* 4D/210 */
#define MACH_SGI_IP10   MACH_SGI_IP6    /* 4D/25 */
#define MACH_SGI_IP12           12      /* 4D/30, 4D/35, Indigo R3K */
#define MACH_SGI_IP17           17      /* Crimson */
#define MACH_SGI_IP19           19      /* Onyx, Challenge M/L(/XL?) */
#define MACH_SGI_IP20           20      /* Indigo R4K */
#define MACH_SGI_IP21           21      /* Power Challenge, Power Onyx */
#define MACH_SGI_IP22           22      /* Indigo2, Challenge M */
#define MACH_SGI_IP24   MACH_SGI_IP22   /* Indy, Challenge S */
#define MACH_SGI_IP25           25      /* Power Challenge R10K */
#define MACH_SGI_IP26           26      /* Power Indigo2 R8K ("Teton") */
#define MACH_SGI_IP27           27      /* Origin 200, Origin 2000, Onyx2 */
#define MACH_SGI_IP28           28      /* Power Indigo2 R10K ("Pacecar") */
#define MACH_SGI_IP30           30      /* Octane */
#define MACH_SGI_IP32           32      /* O2 ("Moosehead") */
#define MACH_SGI_IP35           35      /* SN1 (?) */

/*
 * SGI machine subtypes
 */
#define MACH_SGI_IP4_4D_50_70           40      /* 4D/50, 4D/70 */
#define MACH_SGI_IP4_4D_60_80_85        45      /* 4D/60, 4D/80, 4D/85 */

#define MACH_SGI_IP7_4D_3X0             13      /* 4D/3x0 */
#define MACH_SGI_IP7_4D_4X0             15      /* 4D/4x0 */

#define MACH_SGI_IP12_4D_3X             120     /* Personal Iris 4d/3x */
#define MACH_SGI_IP12_VIP12             121     /* IP12 on 6U VME card */
#define MACH_SGI_IP12_HP1               122     /* Hollywood (Indigo R3k) */
#define MACH_SGI_IP12_HPLC              123     /* Hollywood Light */

#define MACH_SGI_IP22_FULLHOUSE         22      /* Indigo2 */
#define MACH_SGI_IP22_GUINNESS          24      /* Indy, Challenge S */

extern int mach_type;           /* IPxx type */
extern int mach_subtype;        /* subtype: eg., Guinness/Fullhouse for IP22 */
extern int mach_boardrev;       /* machine board revision, in case it matters */

#endif /* __MACHTYPE__ */