diff packages/hal/mips/arch/current/include/mips-regs.h @ 2:443894e2e912 ecos-v1_2_1-release

Block commit of eCos version 1.2.1
author jlarmour
date Tue, 11 May 1999 12:24:34 +0000
parents 3111d98ba7b3
children 4741a3c3496a
line wrap: on
line diff
--- a/packages/hal/mips/arch/current/include/mips-regs.h
+++ b/packages/hal/mips/arch/current/include/mips-regs.h
@@ -1,6 +1,6 @@
 /* mips-regs.h - register defines for MIPS processors
  * 
- * Copyright (c) 1998 Cygnus Support
+ * Copyright (c) 1998 Cygnus Solutions
  *
  * The authors hereby grant permission to use, copy, modify, distribute,
  * and license this software and its documentation for any purpose, provided
@@ -13,6 +13,9 @@
  * they apply.
  */
 
+#include <pkgconf/hal.h>
+
+#ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS
 
 /* This value must agree with NUMREGS in mips-stub.h. */
 
@@ -26,180 +29,180 @@
 
 /* General register names for assembly code. */
 
-#define	zero		$0
-#define	at		$1		/* assembler temporary */
-#define	v0		$2		/* value holders */
-#define	v1		$3
-#define	a0		$4		/* arguments */
-#define	a1		$5
-#define	a2		$6
-#define	a3		$7
-#define	t0		$8		/* temporaries */
-#define	t1		$9
-#define	t2		$10
-#define	t3		$11
-#define	t4		$12
-#define	t5		$13
-#define	t6		$14
-#define	t7		$15
-#define	s0		$16		/* saved registers */
-#define	s1		$17
-#define	s2		$18
-#define	s3		$19
-#define	s4		$20
-#define	s5		$21
-#define	s6		$22
-#define	s7		$23
-#define	t8		$24		/* temporaries */
-#define	t9		$25
-#define	k0		$26		/* kernel registers */
-#define	k1		$27
-#define	gp		$28		/* global pointer */
-#define	sp		$29		/* stack pointer */
-#define	s8		$30		/* saved register */
-#define	fp		$30		/* frame pointer (obsolete usage) */
-#define	ra		$31		/* return address */
+#define zero            $0
+#define at              $1              /* assembler temporary */
+#define v0              $2              /* value holders */
+#define v1              $3
+#define a0              $4              /* arguments */
+#define a1              $5
+#define a2              $6
+#define a3              $7
+#define t0              $8              /* temporaries */
+#define t1              $9
+#define t2              $10
+#define t3              $11
+#define t4              $12
+#define t5              $13
+#define t6              $14
+#define t7              $15
+#define s0              $16             /* saved registers */
+#define s1              $17
+#define s2              $18
+#define s3              $19
+#define s4              $20
+#define s5              $21
+#define s6              $22
+#define s7              $23
+#define t8              $24             /* temporaries */
+#define t9              $25
+#define k0              $26             /* kernel registers */
+#define k1              $27
+#define gp              $28             /* global pointer */
+#define sp              $29             /* stack pointer */
+#define s8              $30             /* saved register */
+#define fp              $30             /* frame pointer (obsolete usage) */
+#define ra              $31             /* return address */
 
 /* MIPS registers, numbered in the order in which gdb expects to see them. */
-#define	ZERO		0
-#define	AT		1
-#define	V0		2
-#define	V1		3
-#define	A0		4
-#define	A1		5
-#define	A2		6
-#define	A3		7
+#define ZERO            0
+#define AT              1
+#define V0              2
+#define V1              3
+#define A0              4
+#define A1              5
+#define A2              6
+#define A3              7
 
-#define	T0		8
-#define	T1		9
-#define	T2		10
-#define	T3		11
-#define	T4		12
-#define	T5		13
-#define	T6		14
-#define	T7		15
+#define T0              8
+#define T1              9
+#define T2              10
+#define T3              11
+#define T4              12
+#define T5              13
+#define T6              14
+#define T7              15
 
-#define	S0		16
-#define	S1		17
-#define	S2		18
-#define	S3		19
-#define	S4		20
-#define	S5		21
-#define	S6		22
-#define	S7		23
+#define S0              16
+#define S1              17
+#define S2              18
+#define S3              19
+#define S4              20
+#define S5              21
+#define S6              22
+#define S7              23
 
-#define	T8		24
-#define	T9		25
-#define	K0		26
-#define	K1		27
-#define	GP		28
-#define	SP		29
-#define	S8		30
-#define	RA		31
+#define T8              24
+#define T9              25
+#define K0              26
+#define K1              27
+#define GP              28
+#define SP              29
+#define S8              30
+#define RA              31
 
-#define	SR		32
-#define	LO		33
-#define	HI		34
-#define	BAD_VA		35
-#define	CAUSE		36
-#define	PC		37
+#define SR              32
+#define LO              33
+#define HI              34
+#define BAD_VA          35
+#define CAUSE           36
+#define PC              37
 
 /* System Control Coprocessor (CP0) exception processing registers */
-#define	C0_CONTEXT	$4		/* Context */
-#define	C0_BADVADDR	$8		/* Bad Virtual Address */
-#define	C0_COUNT 	$9		/* Count */
-#define	C0_COMPARE	$11		/* Compare */
-#define	C0_STATUS	$12		/* Processor Status */
-#define	C0_CAUSE	$13		/* Exception Cause */
-#define	C0_EPC		$14		/* Exception PC */
-#define	C0_XCONTEXT	$20		/* XContext */
-#define	C0_ECC		$26		/* ECC */
-#define	C0_CACHEERR	$27		/* CacheErr */
-#define	C0_ERROREPC	$30		/* ErrorEPC */
+#define C0_CONTEXT      $4              /* Context */
+#define C0_BADVADDR     $8              /* Bad Virtual Address */
+#define C0_COUNT        $9              /* Count */
+#define C0_COMPARE      $11             /* Compare */
+#define C0_STATUS       $12             /* Processor Status */
+#define C0_CAUSE        $13             /* Exception Cause */
+#define C0_EPC          $14             /* Exception PC */
+#define C0_XCONTEXT     $20             /* XContext */
+#define C0_ECC          $26             /* ECC */
+#define C0_CACHEERR     $27             /* CacheErr */
+#define C0_ERROREPC     $30             /* ErrorEPC */
 
 /* Status register fields */
-#define	SR_CUMASK	0xf0000000	/* Coprocessor usable bits */
-#define	SR_CU3		0x80000000	/* Coprocessor 3 usable */
-#define	SR_CU2		0x40000000	/* coprocessor 2 usable */
-#define	SR_CU1		0x20000000	/* Coprocessor 1 usable */
-#define	SR_CU0		0x10000000	/* Coprocessor 0 usable */
+#define SR_CUMASK       0xf0000000      /* Coprocessor usable bits */
+#define SR_CU3          0x80000000      /* Coprocessor 3 usable */
+#define SR_CU2          0x40000000      /* coprocessor 2 usable */
+#define SR_CU1          0x20000000      /* Coprocessor 1 usable */
+#define SR_CU0          0x10000000      /* Coprocessor 0 usable */
 
-#define	SR_FR		0x04000000	/* Enable 32 floating-point registers */
-#define	SR_RE		0x02000000	/* Reverse Endian in user mode */
+#define SR_FR           0x04000000      /* Enable 32 floating-point registers */
+#define SR_RE           0x02000000      /* Reverse Endian in user mode */
 
-#define	SR_BEV		0x00400000	/* Bootstrap Exception Vector */
-#define	SR_TS		0x00200000	/* TLB shutdown (reserved on R4600) */
-#define	SR_SR		0x00100000	/* Soft Reset */
+#define SR_BEV          0x00400000      /* Bootstrap Exception Vector */
+#define SR_TS           0x00200000      /* TLB shutdown (reserved on R4600) */
+#define SR_SR           0x00100000      /* Soft Reset */
 
-#define	SR_CH		0x00040000	/* Cache Hit */
-#define	SR_CE		0x00020000	/* ECC register modifies check bits */
-#define	SR_DE		0x00010000	/* Disable cache errors */
+#define SR_CH           0x00040000      /* Cache Hit */
+#define SR_CE           0x00020000      /* ECC register modifies check bits */
+#define SR_DE           0x00010000      /* Disable cache errors */
 
-#define	SR_IMASK	0x0000ff00	/* Interrupt Mask */
-#define	SR_IMASK8	0x00000000	/* Interrupt Mask level=8 */
-#define	SR_IMASK7	0x00008000	/* Interrupt Mask level=7 */
-#define	SR_IMASK6	0x0000c000	/* Interrupt Mask level=6 */
-#define	SR_IMASK5	0x0000e000	/* Interrupt Mask level=5 */
-#define	SR_IMASK4	0x0000f000	/* Interrupt Mask level=4 */
-#define	SR_IMASK3	0x0000f800	/* Interrupt Mask level=3 */
-#define	SR_IMASK2	0x0000fc00	/* Interrupt Mask level=2 */
-#define	SR_IMASK1	0x0000fe00	/* Interrupt Mask level=1 */
-#define	SR_IMASK0	0x0000ff00	/* Interrupt Mask level=0 */
+#define SR_IMASK        0x0000ff00      /* Interrupt Mask */
+#define SR_IMASK8       0x00000000      /* Interrupt Mask level=8 */
+#define SR_IMASK7       0x00008000      /* Interrupt Mask level=7 */
+#define SR_IMASK6       0x0000c000      /* Interrupt Mask level=6 */
+#define SR_IMASK5       0x0000e000      /* Interrupt Mask level=5 */
+#define SR_IMASK4       0x0000f000      /* Interrupt Mask level=4 */
+#define SR_IMASK3       0x0000f800      /* Interrupt Mask level=3 */
+#define SR_IMASK2       0x0000fc00      /* Interrupt Mask level=2 */
+#define SR_IMASK1       0x0000fe00      /* Interrupt Mask level=1 */
+#define SR_IMASK0       0x0000ff00      /* Interrupt Mask level=0 */
 
-#define	SR_IBIT8	0x00008000	/*  (Intr5) */
-#define	SR_IBIT7	0x00004000	/*  (Intr4) */
-#define	SR_IBIT6	0x00002000	/*  (Intr3) */
-#define	SR_IBIT5	0x00001000	/*  (Intr2) */
-#define	SR_IBIT4	0x00000800	/*  (Intr1) */
-#define	SR_IBIT3	0x00000400	/*  (Intr0) */
-#define	SR_IBIT2	0x00000200	/*  (Software Interrupt 1) */
-#define	SR_IBIT1	0x00000100	/*  (Software Interrupt 0) */
+#define SR_IBIT8        0x00008000      /*  (Intr5) */
+#define SR_IBIT7        0x00004000      /*  (Intr4) */
+#define SR_IBIT6        0x00002000      /*  (Intr3) */
+#define SR_IBIT5        0x00001000      /*  (Intr2) */
+#define SR_IBIT4        0x00000800      /*  (Intr1) */
+#define SR_IBIT3        0x00000400      /*  (Intr0) */
+#define SR_IBIT2        0x00000200      /*  (Software Interrupt 1) */
+#define SR_IBIT1        0x00000100      /*  (Software Interrupt 0) */
 
-#define	SR_KX		0x00000080	/* xtlb in kernel mode */
-#define	SR_SX		0x00000040	/* mips3 & xtlb in supervisor mode */
-#define	SR_UX		0x00000020	/* mips3 & xtlb in user mode */
+#define SR_KX           0x00000080      /* xtlb in kernel mode */
+#define SR_SX           0x00000040      /* mips3 & xtlb in supervisor mode */
+#define SR_UX           0x00000020      /* mips3 & xtlb in user mode */
 
-#define	SR_KSU_MASK	0x00000018	/* ksu mode mask */
-#define	SR_KSU_USER	0x00000010	/* user mode */
-#define	SR_KSU_SUPV	0x00000008	/* supervisor mode */
-#define	SR_KSU_KERN	0x00000000	/* kernel mode */
+#define SR_KSU_MASK     0x00000018      /* ksu mode mask */
+#define SR_KSU_USER     0x00000010      /* user mode */
+#define SR_KSU_SUPV     0x00000008      /* supervisor mode */
+#define SR_KSU_KERN     0x00000000      /* kernel mode */
 
-#define	SR_ERL		0x00000004	/* error level */
-#define	SR_EXL		0x00000002	/* exception level */
-#define	SR_IE		0x00000001 	/* interrupt enable */
+#define SR_ERL          0x00000004      /* error level */
+#define SR_EXL          0x00000002      /* exception level */
+#define SR_IE           0x00000001      /* interrupt enable */
 
 /* Cause register fields */
-#define	CAUSE_BD	0x80000000	/* Branch Delay */
-#define	CAUSE_CEMASK	0x30000000	/* Coprocessor Error */
-#define	CAUSE_CESHIFT	28		/* Right justify CE  */
-#define	CAUSE_IPMASK	0x0000ff00	/* Interrupt Pending */
-#define	CAUSE_IPSHIFT	8		/* Right justify IP  */
-#define	CAUSE_IP8	0x00008000	/*  (Intr5) */
-#define	CAUSE_IP7	0x00004000	/*  (Intr4) */
-#define	CAUSE_IP6	0x00002000	/*  (Intr3) */
-#define	CAUSE_IP5	0x00001000	/*  (Intr2) */
-#define	CAUSE_IP4	0x00000800	/*  (Intr1) */
-#define	CAUSE_IP3	0x00000400	/*  (Intr0) */
-#define	CAUSE_SW2	0x00000200	/*  (Software Interrupt 1) */
-#define	CAUSE_SW1	0x00000100	/*  (Software Interrupt 0) */
-#define	CAUSE_EXCMASK	0x0000007c	/* Exception Code */
-#define	CAUSE_EXCSHIFT	2		/* Right justify EXC */
+#define CAUSE_BD        0x80000000      /* Branch Delay */
+#define CAUSE_CEMASK    0x30000000      /* Coprocessor Error */
+#define CAUSE_CESHIFT   28              /* Right justify CE  */
+#define CAUSE_IPMASK    0x0000ff00      /* Interrupt Pending */
+#define CAUSE_IPSHIFT   8               /* Right justify IP  */
+#define CAUSE_IP8       0x00008000      /*  (Intr5) */
+#define CAUSE_IP7       0x00004000      /*  (Intr4) */
+#define CAUSE_IP6       0x00002000      /*  (Intr3) */
+#define CAUSE_IP5       0x00001000      /*  (Intr2) */
+#define CAUSE_IP4       0x00000800      /*  (Intr1) */
+#define CAUSE_IP3       0x00000400      /*  (Intr0) */
+#define CAUSE_SW2       0x00000200      /*  (Software Interrupt 1) */
+#define CAUSE_SW1       0x00000100      /*  (Software Interrupt 0) */
+#define CAUSE_EXCMASK   0x0000007c      /* Exception Code */
+#define CAUSE_EXCSHIFT  2               /* Right justify EXC */
 
 /* Exception Codes */
-#define	EXC_INT		0		/* External interrupt */
-#define	EXC_MOD		1		/* TLB modification exception */
-#define	EXC_TLBL	2		/* TLB miss (Load or Ifetch) */
-#define	EXC_TLBS	3		/* TLB miss (Store) */
-#define	EXC_ADEL	4		/* Address error (Load or Ifetch) */
-#define	EXC_ADES	5		/* Address error (Store) */
-#define	EXC_IBE		6		/* Bus error (Ifetch) */
-#define	EXC_DBE		7		/* Bus error (data load or store) */
-#define	EXC_SYS		8		/* System call */
-#define	EXC_BP		9		/* Break point */
-#define	EXC_RI		10		/* Reserved instruction */
-#define	EXC_CPU		11		/* Coprocessor unusable */
-#define	EXC_OVF		12		/* Arithmetic overflow */
-#define	EXC_TRAP	13		/* Trap exception */
-#define	EXC_FPE		15		/* Floating Point Exception */
+#define EXC_INT         0               /* External interrupt */
+#define EXC_MOD         1               /* TLB modification exception */
+#define EXC_TLBL        2               /* TLB miss (Load or Ifetch) */
+#define EXC_TLBS        3               /* TLB miss (Store) */
+#define EXC_ADEL        4               /* Address error (Load or Ifetch) */
+#define EXC_ADES        5               /* Address error (Store) */
+#define EXC_IBE         6               /* Bus error (Ifetch) */
+#define EXC_DBE         7               /* Bus error (data load or store) */
+#define EXC_SYS         8               /* System call */
+#define EXC_BP          9               /* Break point */
+#define EXC_RI          10              /* Reserved instruction */
+#define EXC_CPU         11              /* Coprocessor unusable */
+#define EXC_OVF         12              /* Arithmetic overflow */
+#define EXC_TRAP        13              /* Trap exception */
+#define EXC_FPE         15              /* Floating Point Exception */
 
-
+#endif // ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS