patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-sparc64 / pstate.h
index fa69b5f..29fb74a 100644 (file)
@@ -2,6 +2,8 @@
 #ifndef _SPARC64_PSTATE_H
 #define _SPARC64_PSTATE_H
 
+#include <asm/const.h>
+
 /* The V9 PSTATE Register (with SpitFire extensions).
  *
  * -----------------------------------------------------------------------
  * -----------------------------------------------------------------------
  *  63  12  11   10    9     8    7   6   5     4     3     2     1    0
  */
-#define PSTATE_IG      0x0000000000000800      /* Interrupt Globals.           */
-#define PSTATE_MG      0x0000000000000400      /* MMU Globals.                 */
-#define PSTATE_CLE     0x0000000000000200      /* Current Little Endian.       */
-#define PSTATE_TLE     0x0000000000000100      /* Trap Little Endian.          */
-#define PSTATE_MM      0x00000000000000c0      /* Memory Model.                */
-#define PSTATE_TSO     0x0000000000000000      /* MM: Total Store Order        */
-#define PSTATE_PSO     0x0000000000000040      /* MM: Partial Store Order      */
-#define PSTATE_RMO     0x0000000000000080      /* MM: Relaxed Memory Order     */
-#define PSTATE_RED     0x0000000000000020      /* Reset Error Debug State.     */
-#define PSTATE_PEF     0x0000000000000010      /* Floating Point Enable.       */
-#define PSTATE_AM      0x0000000000000008      /* Address Mask.                */
-#define PSTATE_PRIV    0x0000000000000004      /* Privilege.                   */
-#define PSTATE_IE      0x0000000000000002      /* Interrupt Enable.            */
-#define PSTATE_AG      0x0000000000000001      /* Alternate Globals.           */
+#define PSTATE_IG   _AC(0x0000000000000800,UL) /* Interrupt Globals.   */
+#define PSTATE_MG   _AC(0x0000000000000400,UL) /* MMU Globals.         */
+#define PSTATE_CLE  _AC(0x0000000000000200,UL) /* Current Little Endian.*/
+#define PSTATE_TLE  _AC(0x0000000000000100,UL) /* Trap Little Endian.  */
+#define PSTATE_MM   _AC(0x00000000000000c0,UL) /* Memory Model.                */
+#define PSTATE_TSO  _AC(0x0000000000000000,UL) /* MM: TotalStoreOrder  */
+#define PSTATE_PSO  _AC(0x0000000000000040,UL) /* MM: PartialStoreOrder        */
+#define PSTATE_RMO  _AC(0x0000000000000080,UL) /* MM: RelaxedMemoryOrder*/
+#define PSTATE_RED  _AC(0x0000000000000020,UL) /* Reset Error Debug.   */
+#define PSTATE_PEF  _AC(0x0000000000000010,UL) /* Floating Point Enable.*/
+#define PSTATE_AM   _AC(0x0000000000000008,UL) /* Address Mask.                */
+#define PSTATE_PRIV _AC(0x0000000000000004,UL) /* Privilege.           */
+#define PSTATE_IE   _AC(0x0000000000000002,UL) /* Interrupt Enable.    */
+#define PSTATE_AG   _AC(0x0000000000000001,UL) /* Alternate Globals.   */
 
 /* The V9 TSTATE Register (with SpitFire and Linux extensions).
  *
  * ---------------------------------------------------------------
  *  63    40 39   32 31   24 23    20 19       8 7      5 4     0
  */
-#define TSTATE_CCR     0x000000ff00000000      /* Condition Codes.             */
-#define TSTATE_XCC     0x000000f000000000      /* Condition Codes.             */
-#define TSTATE_XNEG    0x0000008000000000      /* %xcc Negative.               */
-#define TSTATE_XZERO   0x0000004000000000      /* %xcc Zero.                   */
-#define TSTATE_XOVFL   0x0000002000000000      /* %xcc Overflow.               */
-#define TSTATE_XCARRY  0x0000001000000000      /* %xcc Carry.                  */
-#define TSTATE_ICC     0x0000000f00000000      /* Condition Codes.             */
-#define TSTATE_INEG    0x0000000800000000      /* %icc Negative.               */
-#define TSTATE_IZERO   0x0000000400000000      /* %icc Zero.                   */
-#define TSTATE_IOVFL   0x0000000200000000      /* %icc Overflow.               */
-#define TSTATE_ICARRY  0x0000000100000000      /* %icc Carry.                  */
-#define TSTATE_ASI     0x00000000ff000000      /* Address Space Identifier.    */
-#define TSTATE_PIL     0x0000000000f00000      /* %pil (Linux traps set this)  */
-#define TSTATE_PSTATE  0x00000000000fff00      /* PSTATE.                      */
-#define TSTATE_IG      0x0000000000080000      /* Interrupt Globals.           */
-#define TSTATE_MG      0x0000000000040000      /* MMU Globals.                 */
-#define TSTATE_CLE     0x0000000000020000      /* Current Little Endian.       */
-#define TSTATE_TLE     0x0000000000010000      /* Trap Little Endian.          */
-#define TSTATE_MM      0x000000000000c000      /* Memory Model.                */
-#define TSTATE_TSO     0x0000000000000000      /* MM: Total Store Order        */
-#define TSTATE_PSO     0x0000000000004000      /* MM: Partial Store Order      */
-#define TSTATE_RMO     0x0000000000008000      /* MM: Relaxed Memory Order     */
-#define TSTATE_RED     0x0000000000002000      /* Reset Error Debug State.     */
-#define TSTATE_PEF     0x0000000000001000      /* Floating Point Enable.       */
-#define TSTATE_AM      0x0000000000000800      /* Address Mask.                */
-#define TSTATE_PRIV    0x0000000000000400      /* Privilege.                   */
-#define TSTATE_IE      0x0000000000000200      /* Interrupt Enable.            */
-#define TSTATE_AG      0x0000000000000100      /* Alternate Globals.           */
-#define TSTATE_CWP     0x000000000000001f      /* Current Window Pointer.      */
+#define TSTATE_CCR     _AC(0x000000ff00000000,UL) /* Condition Codes.  */
+#define TSTATE_XCC     _AC(0x000000f000000000,UL) /* Condition Codes.  */
+#define TSTATE_XNEG    _AC(0x0000008000000000,UL) /* %xcc Negative.    */
+#define TSTATE_XZERO   _AC(0x0000004000000000,UL) /* %xcc Zero.        */
+#define TSTATE_XOVFL   _AC(0x0000002000000000,UL) /* %xcc Overflow.    */
+#define TSTATE_XCARRY  _AC(0x0000001000000000,UL) /* %xcc Carry.       */
+#define TSTATE_ICC     _AC(0x0000000f00000000,UL) /* Condition Codes.  */
+#define TSTATE_INEG    _AC(0x0000000800000000,UL) /* %icc Negative.    */
+#define TSTATE_IZERO   _AC(0x0000000400000000,UL) /* %icc Zero.        */
+#define TSTATE_IOVFL   _AC(0x0000000200000000,UL) /* %icc Overflow.    */
+#define TSTATE_ICARRY  _AC(0x0000000100000000,UL) /* %icc Carry.       */
+#define TSTATE_ASI     _AC(0x00000000ff000000,UL) /* AddrSpace ID.     */
+#define TSTATE_PIL     _AC(0x0000000000f00000,UL) /* %pil (Linux traps)*/
+#define TSTATE_PSTATE  _AC(0x00000000000fff00,UL) /* PSTATE.           */
+#define TSTATE_IG      _AC(0x0000000000080000,UL) /* Interrupt Globals.*/
+#define TSTATE_MG      _AC(0x0000000000040000,UL) /* MMU Globals.      */
+#define TSTATE_CLE     _AC(0x0000000000020000,UL) /* CurrLittleEndian. */
+#define TSTATE_TLE     _AC(0x0000000000010000,UL) /* TrapLittleEndian. */
+#define TSTATE_MM      _AC(0x000000000000c000,UL) /* Memory Model.     */
+#define TSTATE_TSO     _AC(0x0000000000000000,UL) /* MM: TSO           */
+#define TSTATE_PSO     _AC(0x0000000000004000,UL) /* MM: PSO           */
+#define TSTATE_RMO     _AC(0x0000000000008000,UL) /* MM: RMO           */
+#define TSTATE_RED     _AC(0x0000000000002000,UL) /* Reset Error Debug.*/
+#define TSTATE_PEF     _AC(0x0000000000001000,UL) /* FPU Enable.       */
+#define TSTATE_AM      _AC(0x0000000000000800,UL) /* Address Mask.     */
+#define TSTATE_PRIV    _AC(0x0000000000000400,UL) /* Privilege.        */
+#define TSTATE_IE      _AC(0x0000000000000200,UL) /* Interrupt Enable. */
+#define TSTATE_AG      _AC(0x0000000000000100,UL) /* Alternate Globals.*/
+#define TSTATE_CWP     _AC(0x000000000000001f,UL) /* Curr Win-Pointer. */
 
 /* Floating-Point Registers State Register.
  *
@@ -68,9 +70,9 @@
  * --------------------------------
  *  63     3    2       1      0
  */
-#define FPRS_FEF       0x0000000000000004      /* Enable Floating Point.       */
-#define FPRS_DU                0x0000000000000002      /* Dirty Upper.                 */
-#define FPRS_DL                0x0000000000000001      /* Dirty Lower.                 */
+#define FPRS_FEF       _AC(0x0000000000000004,UL) /* FPU Enable.       */
+#define FPRS_DU                _AC(0x0000000000000002,UL) /* Dirty Upper.      */
+#define FPRS_DL                _AC(0x0000000000000001,UL) /* Dirty Lower.      */
 
 /* Version Register.
  *
  * ------------------------------------------------------
  *  63   48 47  32 31  24 23  16 15    8 7    5 4      0
  */
-#define VERS_MANUF     0xffff000000000000      /* Manufacturer.                */
-#define VERS_IMPL      0x0000ffff00000000      /* Implementation.              */
-#define VERS_MASK      0x00000000ff000000      /* Mask Set Revision.           */
-#define VERS_MAXTL     0x000000000000ff00      /* Maximum Trap Level.          */
-#define VERS_MAXWIN    0x000000000000001f      /* Maximum Reg Window Index.    */
+#define VERS_MANUF     _AC(0xffff000000000000,UL) /* Manufacturer.     */
+#define VERS_IMPL      _AC(0x0000ffff00000000,UL) /* Implementation.   */
+#define VERS_MASK      _AC(0x00000000ff000000,UL) /* Mask Set Revision.*/
+#define VERS_MAXTL     _AC(0x000000000000ff00,UL) /* Max Trap Level.   */
+#define VERS_MAXWIN    _AC(0x000000000000001f,UL) /* Max RegWindow Idx.*/
 
 #endif /* !(_SPARC64_PSTATE_H) */