sh-stub.c cleanup patch

Toshiyasu Morita tm@netcom.com
Fri Apr 23 15:31:00 GMT 1999


This is a cleanup patch before I add support for the SH4. It mostly localizes
processor dependencies at the end of the file.

Toshi

Fri Apr 23 13:27:34 PDT 1999  Toshiyasu Morita  (tm@netcom.com)

	* sh-stub.c: Mostly localize processor dependencies.

*** sh-stub.c.bak	Fri Apr 23 12:40:50 1999
--- sh-stub.c	Fri Apr 23 13:19:55 1999
***************
*** 1,8 ****
! /* sh-stub.c -- debugging stub for the Hitachi-SH. 
  
   NOTE!! This code has to be compiled with optimization, otherwise the 
   function inlining which generates the exception handlers won't work.
!  
  */
  
  /*   This is originally based on an m68k software stub written by Glenn
--- 1,8 ----
! /* sh-stub.c -- debugging stub for the Hitachi-SH.
  
   NOTE!! This code has to be compiled with optimization, otherwise the 
   function inlining which generates the exception handlers won't work.
! 
  */
  
  /*   This is originally based on an m68k software stub written by Glenn
***************
*** 147,179 ****
  #include <string.h>
  #include <setjmp.h>
  
  
  
! #define COND_BR_MASK	0xff00
! #define UCOND_DBR_MASK	0xe000
! #define UCOND_RBR_MASK	0xf0df
! #define TRAPA_MASK		0xff00
! 
! #define COND_DISP		0x00ff
! #define UCOND_DISP		0x0fff
! #define UCOND_REG		0x0f00
! 
! #define BF_INSTR		0x8b00
! #define BT_INSTR		0x8900
! #define BRA_INSTR		0xa000
! #define BSR_INSTR		0xb000
! #define JMP_INSTR		0x402b
! #define JSR_INSTR		0x400b
! #define RTS_INSTR		0x000b
! #define RTE_INSTR		0x002b
! #define TRAPA_INSTR		0xc300
  
! #define SSTEP_INSTR		0xc3ff
  
- #define T_BIT_MASK		0x0001
  /*
   * BUFMAX defines the maximum number of characters in inbound/outbound
!  * buffers at least NUMREGBYTES*2 are needed for register packets
   */
  #define BUFMAX 1024
  
--- 147,183 ----
  #include <string.h>
  #include <setjmp.h>
  
+ /* Hitachi SH architecture instruction encoding masks */
  
+ #define COND_BR_MASK   0xff00
+ #define UCOND_DBR_MASK 0xe000
+ #define UCOND_RBR_MASK 0xf0df
+ #define TRAPA_MASK     0xff00
+ 
+ #define COND_DISP      0x00ff
+ #define UCOND_DISP     0x0fff
+ #define UCOND_REG      0x0f00
+ 
+ /* Hitachi SH instruction opcodes */
+ 
+ #define BF_INSTR       0x8b00
+ #define BT_INSTR       0x8900
+ #define BRA_INSTR      0xa000
+ #define BSR_INSTR      0xb000
+ #define JMP_INSTR      0x402b
+ #define JSR_INSTR      0x400b
+ #define RTS_INSTR      0x000b
+ #define RTE_INSTR      0x002b
+ #define TRAPA_INSTR    0xc300
+ #define SSTEP_INSTR    0xc3ff
  
! /* Hitachi SH processor register masks */
  
! #define T_BIT_MASK     0x0001
  
  /*
   * BUFMAX defines the maximum number of characters in inbound/outbound
!  * buffers. At least NUMREGBYTES*2 are needed for register packets.
   */
  #define BUFMAX 1024
  
*************** void breakpoint (void);
*** 229,251 ****
  int init_stack[init_stack_size] __attribute__ ((section ("stack"))) = {0};
  int stub_stack[stub_stack_size] __attribute__ ((section ("stack"))) = {0};
  
- typedef struct
-   {
-     void (*func_cold) ();
-     int *stack_cold;
-     void (*func_warm) ();
-     int *stack_warm;
-     void (*(handler[256 - 4])) ();
-   }
- vec_type;
- 
  
  void INIT ();
  void BINIT ();
  
- /* When you link take care that this is at address 0 -
-    or wherever your vbr points */
- 
  #define CPU_BUS_ERROR_VEC  9
  #define DMA_BUS_ERROR_VEC 10
  #define NMI_VEC           11
--- 233,242 ----
*************** void BINIT ();
*** 256,525 ****
  #define USER_VEC         255
  
  
- #define BCR  (*(volatile short *)(0x05FFFFA0)) /* Bus control register */
- #define BAS  (0x800)				/* Byte access select */
- #define WCR1 (*(volatile short *)(0x05ffffA2)) /* Wait state control register */
- 
- const vec_type vectable =
- { 
-   &BINIT,			/* 0: Power-on reset PC */
-   init_stack + init_stack_size, /* 1: Power-on reset SP */
-   &BINIT,			/* 2: Manual reset PC */
-   init_stack + init_stack_size, /* 3: Manual reset SP */
- {
-   &catch_exception_4,		/* 4: General invalid instruction */
-   &catch_exception_random,	/* 5: Reserved for system */
-   &catch_exception_6,		/* 6: Invalid slot instruction */
-   &catch_exception_random,	/* 7: Reserved for system */
-   &catch_exception_random,	/* 8: Reserved for system */
-   &catch_exception_9,		/* 9: CPU bus error */
-   &catch_exception_10,		/* 10: DMA bus error */
-   &catch_exception_11,		/* 11: NMI */
-   &catch_exception_random,	/* 12: User break */
-   &catch_exception_random,	/* 13: Reserved for system */
-   &catch_exception_random,	/* 14: Reserved for system */
-   &catch_exception_random,	/* 15: Reserved for system */
-   &catch_exception_random,	/* 16: Reserved for system */
-   &catch_exception_random,	/* 17: Reserved for system */
-   &catch_exception_random,	/* 18: Reserved for system */
-   &catch_exception_random,	/* 19: Reserved for system */
-   &catch_exception_random,	/* 20: Reserved for system */
-   &catch_exception_random,	/* 21: Reserved for system */
-   &catch_exception_random,	/* 22: Reserved for system */
-   &catch_exception_random,	/* 23: Reserved for system */
-   &catch_exception_random,	/* 24: Reserved for system */
-   &catch_exception_random,	/* 25: Reserved for system */
-   &catch_exception_random,	/* 26: Reserved for system */
-   &catch_exception_random,	/* 27: Reserved for system */
-   &catch_exception_random,	/* 28: Reserved for system */
-   &catch_exception_random,	/* 29: Reserved for system */
-   &catch_exception_random,	/* 30: Reserved for system */
-   &catch_exception_random,	/* 31: Reserved for system */
-   &catch_exception_32,		/* 32: Trap instr (user vectors) */
-   &catch_exception_33,		/* 33: Trap instr (user vectors) */
-   &catch_exception_random,	/* 34: Trap instr (user vectors) */
-   &catch_exception_random,	/* 35: Trap instr (user vectors) */
-   &catch_exception_random,	/* 36: Trap instr (user vectors) */
-   &catch_exception_random,	/* 37: Trap instr (user vectors) */
-   &catch_exception_random,	/* 38: Trap instr (user vectors) */
-   &catch_exception_random,	/* 39: Trap instr (user vectors) */
-   &catch_exception_random,	/* 40: Trap instr (user vectors) */
-   &catch_exception_random,	/* 41: Trap instr (user vectors) */
-   &catch_exception_random,	/* 42: Trap instr (user vectors) */
-   &catch_exception_random,	/* 43: Trap instr (user vectors) */
-   &catch_exception_random,	/* 44: Trap instr (user vectors) */
-   &catch_exception_random,	/* 45: Trap instr (user vectors) */
-   &catch_exception_random,	/* 46: Trap instr (user vectors) */
-   &catch_exception_random,	/* 47: Trap instr (user vectors) */
-   &catch_exception_random,	/* 48: Trap instr (user vectors) */
-   &catch_exception_random,	/* 49: Trap instr (user vectors) */
-   &catch_exception_random,	/* 50: Trap instr (user vectors) */
-   &catch_exception_random,	/* 51: Trap instr (user vectors) */
-   &catch_exception_random,	/* 52: Trap instr (user vectors) */
-   &catch_exception_random,	/* 53: Trap instr (user vectors) */
-   &catch_exception_random,	/* 54: Trap instr (user vectors) */
-   &catch_exception_random,	/* 55: Trap instr (user vectors) */
-   &catch_exception_random,	/* 56: Trap instr (user vectors) */
-   &catch_exception_random,	/* 57: Trap instr (user vectors) */
-   &catch_exception_random,	/* 58: Trap instr (user vectors) */
-   &catch_exception_random,	/* 59: Trap instr (user vectors) */
-   &catch_exception_random,	/* 60: Trap instr (user vectors) */
-   &catch_exception_random,	/* 61: Trap instr (user vectors) */
-   &catch_exception_random,	/* 62: Trap instr (user vectors) */
-   &catch_exception_random,	/* 63: Trap instr (user vectors) */
-   &catch_exception_random,	/* 64: IRQ0 */
-   &catch_exception_random,	/* 65: IRQ1 */
-   &catch_exception_random,	/* 66: IRQ2 */
-   &catch_exception_random,	/* 67: IRQ3 */
-   &catch_exception_random,	/* 68: IRQ4 */
-   &catch_exception_random,	/* 69: IRQ5 */
-   &catch_exception_random,	/* 70: IRQ6 */
-   &catch_exception_random,	/* 71: IRQ7 */
-   &catch_exception_random,
-   &catch_exception_random,
-   &catch_exception_random,
-   &catch_exception_random,
-   &catch_exception_random,
-   &catch_exception_random,
-   &catch_exception_random,
-   &catch_exception_random,
-   &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_random,
-      &catch_exception_255}};
- 
  
  char in_nmi;   /* Set when handling an NMI, so we don't reenter */
  int dofault;  /* Non zero, bus errors will raise exception */
--- 247,252 ----
*************** gdb_mode()
*** 1080,1090 ****
     otherwise as a quick means to stop program execution and "break" into
     the debugger. */
  
! void
! breakpoint (void)
! {
!       BREAKPOINT ();
! }
  
  asm ("_BINIT: mov.l  L1,r15");
  asm ("bra _INIT");
--- 807,1117 ----
     otherwise as a quick means to stop program execution and "break" into
     the debugger. */
  
! void
! breakpoint (void)
! {
!       BREAKPOINT ();
! }
! 
! /**** Processor-specific routines start here ****/
! /**** Processor-specific routines start here ****/
! /**** Processor-specific routines start here ****/
! 
! /* Note:
! 
!    The Hitachi SH family uses two exception architectures:
! 
!    SH1 & SH2:
! 
!        These processors utilize an exception vector table.
!        Exceptions are vectored to the address stored at VBR + (exception_num * 4)
! 
!   SH3, SH3E, & SH4:
! 
!        These processors have fixed entry points relative to the VBR for
!        various exception classes.
! */
! 
! #if defined(__sh1__) || defined(__sh2__)
! 
! /* SH1/SH2 exception vector table format */
! 
! typedef struct
!   {
!     void (*func_cold) ();
!     int *stack_cold;
!     void (*func_warm) ();
!     int *stack_warm;
!     void (*(handler[256 - 4])) ();
!   }
! vec_type;
! 
! /* vectable is the SH1/SH2 vector table. It must be at address 0
!    or wherever your vbr points. */
! 
! const vec_type vectable =
! { 
!   &BINIT,			/* 0: Power-on reset PC */
!   init_stack + init_stack_size, /* 1: Power-on reset SP */
!   &BINIT,			/* 2: Manual reset PC */
!   init_stack + init_stack_size, /* 3: Manual reset SP */
! {
!   &catch_exception_4,		/* 4: General invalid instruction */
!   &catch_exception_random,	/* 5: Reserved for system */
!   &catch_exception_6,		/* 6: Invalid slot instruction */
!   &catch_exception_random,	/* 7: Reserved for system */
!   &catch_exception_random,	/* 8: Reserved for system */
!   &catch_exception_9,		/* 9: CPU bus error */
!   &catch_exception_10,		/* 10: DMA bus error */
!   &catch_exception_11,		/* 11: NMI */
!   &catch_exception_random,	/* 12: User break */
!   &catch_exception_random,	/* 13: Reserved for system */
!   &catch_exception_random,	/* 14: Reserved for system */
!   &catch_exception_random,	/* 15: Reserved for system */
!   &catch_exception_random,	/* 16: Reserved for system */
!   &catch_exception_random,	/* 17: Reserved for system */
!   &catch_exception_random,	/* 18: Reserved for system */
!   &catch_exception_random,	/* 19: Reserved for system */
!   &catch_exception_random,	/* 20: Reserved for system */
!   &catch_exception_random,	/* 21: Reserved for system */
!   &catch_exception_random,	/* 22: Reserved for system */
!   &catch_exception_random,	/* 23: Reserved for system */
!   &catch_exception_random,	/* 24: Reserved for system */
!   &catch_exception_random,	/* 25: Reserved for system */
!   &catch_exception_random,	/* 26: Reserved for system */
!   &catch_exception_random,	/* 27: Reserved for system */
!   &catch_exception_random,	/* 28: Reserved for system */
!   &catch_exception_random,	/* 29: Reserved for system */
!   &catch_exception_random,	/* 30: Reserved for system */
!   &catch_exception_random,	/* 31: Reserved for system */
!   &catch_exception_32,		/* 32: Trap instr (user vectors) */
!   &catch_exception_33,		/* 33: Trap instr (user vectors) */
!   &catch_exception_random,	/* 34: Trap instr (user vectors) */
!   &catch_exception_random,	/* 35: Trap instr (user vectors) */
!   &catch_exception_random,	/* 36: Trap instr (user vectors) */
!   &catch_exception_random,	/* 37: Trap instr (user vectors) */
!   &catch_exception_random,	/* 38: Trap instr (user vectors) */
!   &catch_exception_random,	/* 39: Trap instr (user vectors) */
!   &catch_exception_random,	/* 40: Trap instr (user vectors) */
!   &catch_exception_random,	/* 41: Trap instr (user vectors) */
!   &catch_exception_random,	/* 42: Trap instr (user vectors) */
!   &catch_exception_random,	/* 43: Trap instr (user vectors) */
!   &catch_exception_random,	/* 44: Trap instr (user vectors) */
!   &catch_exception_random,	/* 45: Trap instr (user vectors) */
!   &catch_exception_random,	/* 46: Trap instr (user vectors) */
!   &catch_exception_random,	/* 47: Trap instr (user vectors) */
!   &catch_exception_random,	/* 48: Trap instr (user vectors) */
!   &catch_exception_random,	/* 49: Trap instr (user vectors) */
!   &catch_exception_random,	/* 50: Trap instr (user vectors) */
!   &catch_exception_random,	/* 51: Trap instr (user vectors) */
!   &catch_exception_random,	/* 52: Trap instr (user vectors) */
!   &catch_exception_random,	/* 53: Trap instr (user vectors) */
!   &catch_exception_random,	/* 54: Trap instr (user vectors) */
!   &catch_exception_random,	/* 55: Trap instr (user vectors) */
!   &catch_exception_random,	/* 56: Trap instr (user vectors) */
!   &catch_exception_random,	/* 57: Trap instr (user vectors) */
!   &catch_exception_random,	/* 58: Trap instr (user vectors) */
!   &catch_exception_random,	/* 59: Trap instr (user vectors) */
!   &catch_exception_random,	/* 60: Trap instr (user vectors) */
!   &catch_exception_random,	/* 61: Trap instr (user vectors) */
!   &catch_exception_random,	/* 62: Trap instr (user vectors) */
!   &catch_exception_random,	/* 63: Trap instr (user vectors) */
!   &catch_exception_random,	/* 64: IRQ0 */
!   &catch_exception_random,	/* 65: IRQ1 */
!   &catch_exception_random,	/* 66: IRQ2 */
!   &catch_exception_random,	/* 67: IRQ3 */
!   &catch_exception_random,	/* 68: IRQ4 */
!   &catch_exception_random,	/* 69: IRQ5 */
!   &catch_exception_random,	/* 70: IRQ6 */
!   &catch_exception_random,	/* 71: IRQ7 */
!   &catch_exception_random,
!   &catch_exception_random,
!   &catch_exception_random,
!   &catch_exception_random,
!   &catch_exception_random,
!   &catch_exception_random,
!   &catch_exception_random,
!   &catch_exception_random,
!   &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_random,
!      &catch_exception_255}};
! 
! #define BCR  (*(volatile short *)(0x05FFFFA0)) /* Bus control register */
! #define BAS  (0x800)				/* Byte access select */
! #define WCR1 (*(volatile short *)(0x05ffffA2)) /* Wait state control register */
  
  asm ("_BINIT: mov.l  L1,r15");
  asm ("bra _INIT");
*************** handleError (char theSSR)
*** 1551,1553 ****
--- 1578,1581 ----
    SSR1 &= ~(SCI_ORER | SCI_PER | SCI_FER);
  }
  
+ #endif



More information about the Gdb-patches mailing list