The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/sqt/SGSproc.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* 
    2  * Mach Operating System
    3  * Copyright (c) 1991 Carnegie Mellon University
    4  * Copyright (c) 1991 Sequent Computer Systems
    5  * All Rights Reserved.
    6  * 
    7  * Permission to use, copy, modify and distribute this software and its
    8  * documentation is hereby granted, provided that both the copyright
    9  * notice and this permission notice appear in all copies of the
   10  * software, derivative works or modified versions, and any portions
   11  * thereof, and that both notices appear in supporting documentation.
   12  * 
   13  * CARNEGIE MELLON AND SEQUENT COMPUTER SYSTEMS ALLOW FREE USE OF
   14  * THIS SOFTWARE IN ITS "AS IS" CONDITION.  CARNEGIE MELLON AND
   15  * SEQUENT COMPUTER SYSTEMS DISCLAIM ANY LIABILITY OF ANY KIND FOR
   16  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   17  * 
   18  * Carnegie Mellon requests users of this software to return to
   19  * 
   20  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   21  *  School of Computer Science
   22  *  Carnegie Mellon University
   23  *  Pittsburgh PA 15213-3890
   24  * 
   25  * any improvements or extensions that they make and grant Carnegie Mellon 
   26  * the rights to redistribute these changes.
   27  */
   28 
   29 /*
   30  * HISTORY
   31  * $Log:        SGSproc.h,v $
   32  * Revision 2.3  91/07/31  17:58:45  dbg
   33  *      Changed copyright.
   34  *      [91/07/31            dbg]
   35  * 
   36  * Revision 2.2  91/05/08  12:50:27  dbg
   37  *      Added, from Sequent SYMMETRY sources.
   38  *      [91/04/26  14:45:57  dbg]
   39  * 
   40  */
   41 
   42 /*
   43  * $Header: SGSproc.h,v 2.3 91/07/31 17:58:45 dbg Exp $
   44  *
   45  * SGSproc.h
   46  *      Second-Generation System processor board definitions.
   47  */
   48 
   49 /*
   50  * Revision 1.1  89/07/19  14:48:50  kak
   51  * Initial revision
   52  * 
   53  * Revision 2.9  88/10/26  07:54:46  corene
   54  * added conditional define for PROC_STAT_MASK and new FATALERR bit for
   55  * ModelC
   56  * 
   57  * Revision 2.8  88/10/21  14:06:21  corene
   58  * added new ModelC bit FATAL_ERR to PROC_STAT register
   59  * 
   60  * Revision 2.7  88/10/10  15:05:02  rto
   61  * Added 532-specific definitions in support of a common inter-project
   62  * build environment.
   63  * 
   64  * Revision 2.10  88/10/05  11:38:33  rto
   65  * 532port:  Changed value for PHYS_CACHE_TAGS.
   66  * 
   67  * Revision 2.9  88/09/21  14:02:26  rto
   68  * 532port:  Added PHYS_CACHE_TAGS definition for access to the chip cache
   69  * tag rams.
   70  * 
   71  * Revision 2.8  88/08/12  18:54:50  petebob
   72  * 532 change made for johnc
   73  * 
   74  * Revision 2.7  88/07/25  16:42:46  rto
   75  * 532port:  Added definitions for the additional SLIC control register.
   76  * 
   77  */
   78 
   79 #ifndef _SQT_SGSPROC_H_
   80 #define _SQT_SGSPROC_H_
   81 
   82 /*
   83  * Physical addresses in processor board address space.
   84  */
   85 
   86 #define PHYS_CACHE_OPT  0x40000000      /* 1Gig-2Gig cacheing is optional */
   87 #define PHYS_IO_SPACE   0x80000000      /* IO space starts at 2Gig */
   88 
   89 #define PHYS_WEITEK_FPA 0xC0000000      /* Weitek FPA starts here... */
   90 #define WEITEK_SPACE    (64*1024)       /*      ... for 64k */
   91 #define PHYS_SLIC       0xC8000000      /* processor-SLIC interface */
   92 #define PHYS_LED        0xCC000000      /* per-processor activity light */
   93 #define PHYS_ETC        0xCC002000      /* per-processor elapsed time counter */
   94 #define PHYS_SYNC_POINT 0xD0000000      /* synchronization points */
   95 #define PHYS_CACHE_RAM  0xF0000000      /* cache as local RAM */
   96 #define PHYS_CACHE_TAGS 0xC8002000      /* on-chip cache tag ram access */
   97 
   98 /*
   99  * MBAd's start at 28Meg into IO space.
  100  */
  101 
  102 #define PHYS_MBAD       (PHYS_IO_SPACE+28*1024*1024)
  103 
  104 /*
  105  * Processor "control" functions SLIC slave register.  Write Only.
  106  * All bits are activel LOW.
  107  */
  108 
  109 #define PROC_CTL        0x22            /* control of processor (WO) */
  110 #define     PROC_CTL_MASK       0x67    /* useful bits */
  111 #define     PROC_CTL_LED_OFF    0x40    /* 1 == Turn LED off, 0 == turn it ON */
  112 #define     PROC_CTL_NO_NMI     0x20    /* 1 == Disable NMI's */
  113 #define     PROC_CTL_NO_SSTEP   0x04    /* 1 == Disable single-step option */
  114 #define     PROC_CTL_NO_HOLD    0x02    /* 1 == Don't assert HOLD */
  115 #define     PROC_CTL_NO_RESET   0x01    /* 1 == Don't reset processor */
  116 
  117 /*
  118  * Processor status SLIC slave register.  Read Only.
  119  * All bits are activel LOW.
  120  *
  121  * NOTE: same SLIC address as PROC_CTL.  Defined seperately for ease of
  122  * understanding.
  123  */
  124 
  125 #define PROC_STAT       0x22            /* processor status (RO) */
  126 #ifdef SYM_C
  127 #define     PROC_STAT_MASK      0xFF    /* useful bits */
  128 #define     PROC_STAT_FATALERR  0x80    /* 1 == Proc generated FATAL RESPONSE code */
  129 #else
  130 #define     PROC_STAT_MASK      0x7F    /* useful bits */
  131 #endif SYM_C
  132 #define     PROC_STAT_LED_OFF   0x40    /* 1 == LED is off */
  133 #define     PROC_STAT_NO_NMI    0x20    /* 1 == NMI's are disabled */
  134 #define     PROC_STAT_RUNNING   0x10    /* 1 == Processor not in SHUTDOWN mode*/
  135 #define     PROC_STAT_NO_HALT   0x08    /* 1 == Processor not in HALT mode*/
  136 #define     PROC_STAT_NO_SSTEP  0x04    /* 1 == Single-step option disabled */
  137 #define     PROC_STAT_NO_HOLDA  0x02    /* 1 == Processor not in HOLDA */
  138 #define     PROC_STAT_NO_RESET  0x01    /* 1 == Processor not reset */
  139 
  140 /*
  141  * There are two differences between the 532 board and the SGS (i386) 
  142  * board.  First, the 532 board does not support a floating point
  143  * accellerator (we will just not use the definition of the weitek
  144  * chip in SGSproc.h).  Second, there is an additional control register
  145  * on the SLIC.  The field definitions for this additional register
  146  * follow:
  147  */
  148 
  149 #define PROC_CTL1       0x21            /* SLIC Control Register 1 */
  150 #define     PROC_CTL1_MASK      0x7f    /* useful bits */
  151 #define     PROC_CTL1_NO_BURST  0x01    /* 1 == disable burst mode */
  152 #define     PROC_CTL1_NO_CACHE_2G 0x02  /* 1 == disable 2nd Gig caching */
  153 #define     PROC_CTL1_NO_DINVAL 0x04    /* 1 == disable double invalidate */
  154 #define     PROC_CTL1_NO_FRESET 0x08    /* 0 == flush counter is reset */
  155 #define     PROC_CTL1_NO_HIT_I  0x10    /* extended tag hit, instr. cache */
  156 #define     PROC_CTL1_NO_HIT_D1 0x20    /* extended tag hit, data set 0 */
  157 #define     PROC_CTL1_NO_HIT_D0 0x40    /* extended tag hit, data set 1 */
  158 
  159 
  160 /*
  161  * Procesor local-device faults SLIC slave register.
  162  *
  163  * Any write clears all bits (if processor not reset), except BDP parity
  164  * errors (PROC_FLT_BDP_{HI,LO}_PE must be cleared at the BDP).
  165  *
  166  * PROC_FLT_ACC_ERR results from access to processor local reserved space.
  167  * Other access errors are sensed via the BIC.
  168  *
  169  * PROC_FLT_SLIC_NMI and PROC_FLT_ACC_ERR cause NMI.  All other cause the
  170  * processor to be automatically placed in HOLD mode.
  171  *
  172  * All bits are active LOW (0 ==> error).
  173  */
  174 
  175 #define PROC_FLT        0x23            /* local device faults */
  176 #define     PROC_FLT_MASK       0xFF    /* useful bits */
  177 #define     PROC_FLT_SLIC_NMI   0x80    /* SLIC NMI */
  178 #define     PROC_FLT_ACC_ERR    0x40    /* Processor Access Error (local) */
  179 #define     PROC_FLT_BDP_HI_PE  0x10    /* BDP (high 4-bytes) parity error */
  180 #define     PROC_FLT_BDP_LO_PE  0x20    /* BDP (low 4-bytes) parity error */
  181 #define     PROC_FLT_CACHE_B3PE 0x08    /* Cache parity error byte 3 */
  182 #define     PROC_FLT_CACHE_B2PE 0x04    /* Cache parity error byte 2 */
  183 #define     PROC_FLT_CACHE_B1PE 0x02    /* Cache parity error byte 1 */
  184 #define     PROC_FLT_CACHE_B0PE 0x01    /* Cache parity error byte 0 */
  185 
  186 /*
  187  * Processor board VLSI chip SLIC slave registers.
  188  * These addresses select the particular chip; use "sub-register address" to
  189  * access chip registers (see machine/{bic,bdp,cmc}.h).
  190  */
  191 
  192 #define PROC_CMC_0      0x81            /* Cache Memory Controller, Set 0 */
  193 #define PROC_CMC_1      0x91            /* Cache Memory Controller, Set 1 */
  194 #define PROC_BDP_LO     0x80            /* Buffered Data Path (low 4-bytes) */
  195 #define PROC_BDP_HI     0x90            /* Buffered Data Path (high 4-bytes) */
  196 #define PROC_BIC        0xA0            /* Bus-Interface Controller */
  197 
  198 /*
  199  * Important versions of the processor board.
  200  * These are read from SL_SGENERATION register of
  201  * the processor board's config prom.
  202  */
  203 #define PROC_SREV_B1    0               /* 80386 B1 stepping */
  204 #define PROC_SREV_C0    1               /* 80386 C0 stepping */
  205 
  206 #endif  /* _SQT_SGSPROC_H_ */

Cache object: a428b88989647adedc07c9ec05a73c88


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.