~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-sparc/memreg.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* $Id: memreg.h,v 1.8 1996/08/29 09:48:23 davem Exp $ */
  2 #ifndef _SPARC_MEMREG_H
  3 #define _SPARC_MEMREG_H
  4 /* memreg.h:  Definitions of the values found in the synchronous
  5  *            and asynchronous memory error registers when a fault
  6  *            occurs on the sun4c.
  7  *
  8  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
  9  */
 10 
 11 /* First the synchronous error codes, these are usually just
 12  * normal page faults.
 13  */
 14 
 15 #define SUN4C_SYNC_WDRESET   0x0001  /* watchdog reset */
 16 #define SUN4C_SYNC_SIZE      0x0002  /* bad access size? whuz this? */
 17 #define SUN4C_SYNC_PARITY    0x0008  /* bad ram chips caused a parity error */
 18 #define SUN4C_SYNC_SBUS      0x0010  /* the SBUS had some problems... */
 19 #define SUN4C_SYNC_NOMEM     0x0020  /* translation to non-existent ram */
 20 #define SUN4C_SYNC_PROT      0x0040  /* access violated pte protections */
 21 #define SUN4C_SYNC_NPRESENT  0x0080  /* pte said that page was not present */
 22 #define SUN4C_SYNC_BADWRITE  0x8000  /* while writing something went bogus */
 23 
 24 #define SUN4C_SYNC_BOLIXED  \
 25         (SUN4C_SYNC_WDRESET | SUN4C_SYNC_SIZE | SUN4C_SYNC_SBUS | \
 26          SUN4C_SYNC_NOMEM | SUN4C_SYNC_PARITY)
 27 
 28 /* Now the asynchronous error codes, these are almost always produced
 29  * by the cache writing things back to memory and getting a bad translation.
 30  * Bad DVMA transactions can cause these faults too.
 31  */
 32 
 33 #define SUN4C_ASYNC_BADDVMA 0x0010  /* error during DVMA access */
 34 #define SUN4C_ASYNC_NOMEM   0x0020  /* write back pointed to bad phys addr */
 35 #define SUN4C_ASYNC_BADWB   0x0080  /* write back points to non-present page */
 36 
 37 /* Memory parity error register with associated bit constants. */
 38 #ifndef __ASSEMBLY__
 39 extern __volatile__ unsigned long *sun4c_memerr_reg;
 40 #endif
 41 
 42 #define SUN4C_MPE_ERROR 0x80    /* Parity error detected. (ro) */
 43 #define SUN4C_MPE_MULTI 0x40    /* Multiple parity errors detected. (ro) */
 44 #define SUN4C_MPE_TEST  0x20    /* Write inverse parity. (rw) */
 45 #define SUN4C_MPE_CHECK 0x10    /* Enable parity checking. (rw) */
 46 #define SUN4C_MPE_ERR00 0x08    /* Parity error in bits 0-7. (ro) */
 47 #define SUN4C_MPE_ERR08 0x04    /* Parity error in bits 8-15. (ro) */
 48 #define SUN4C_MPE_ERR16 0x02    /* Parity error in bits 16-23. (ro) */
 49 #define SUN4C_MPE_ERR24 0x01    /* Parity error in bits 24-31. (ro) */
 50 #define SUN4C_MPE_ERRS  0x0F    /* Bit mask for the error bits. (ro) */
 51 
 52 #endif /* !(_SPARC_MEMREG_H) */
 53 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.