]> rtime.felk.cvut.cz Git - sysless.git/blobdiff - arch/h8300/generic/libs/gdbstub/h8s-2633.c
Tiny modifications of gdbstub.
[sysless.git] / arch / h8300 / generic / libs / gdbstub / h8s-2633.c
index c9afc5a0f1e37b918484b2e52ad6006da8e6698a..983866f725342fd545a5d63c0e8ef4e2a3ea1b80 100644 (file)
@@ -349,7 +349,7 @@ void gdb_step ( char *hargs )
   /* replace it */
   gdb_stepped_opcode = *(short*)addr;
   gdb_step_pc = addr;
-  *(short*)addr = STEP_OPCODE;
+  *(short*)addr = STEP_OPCODE;  /* FIXME: Use HW break if PC is in flash */
   
   /* we're all done now */
   gdb_return_from_exception();
@@ -362,7 +362,7 @@ void gdb_step ( char *hargs )
    or when other exception occurs in stepi 
    so remember address of replaced instruction separately
 */
-void gdb_undo_step ( void )
+void gdb_undo_step ( void )     /* FIXME: If using HW steps, undo hw steps. */
 {
   /* quite bad idea to use 0 here, 0 is NOP */
   /* STEP_OPCODE should be ok               */
@@ -486,7 +486,7 @@ void gdb_breakpoint_1(int on, char* hargs) {
       } else { /* insert HW breakpoint */
 #if USE_HW_BREAKPOINTS
        /* find free channel */
-       if(pbc_use[0]<0) i=0;
+       if(pbc_use[0]<0) i=0;   /* FIXME: Add support for HW stepping. */
        else if(pbc_use[1]<0) i=1;
        else {
          /* no channel free */
@@ -602,8 +602,8 @@ void gdb_platform_init() {
 
   excptvec_set(sci_vect,gdb_scirxerr_isr);     /* ERIx */
   excptvec_set(sci_vect+1,gdb_scirx_isr);      /* RXIx */
-  excptvec_set(sci_vect,gdb_unhandled_isr);    /* TXIx */
-  excptvec_set(sci_vect,gdb_unhandled_isr);    /* TEIx */
+  excptvec_set(sci_vect+2,gdb_unhandled_isr);  /* TXIx */
+  excptvec_set(sci_vect+3,gdb_unhandled_isr);  /* TEIx */
 
   excptvec_set(EXCPTVEC_NMI,gdb_nmi_isr);      /* NMI */
   excptvec_set(EXCPTVEC_TRAP2,gdb_trapa2_isr); /* TRAPA2 */