Changeset ee55cdb in rtems


Ignore:
Timestamp:
Oct 31, 2002, 8:07:42 PM (18 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
1c3ea41
Parents:
42e4230
Message:

2002-10-31 Joel Sherrill <joel@…>

  • m68k-stub.c: Fixed warnings about multi-line strings in asm.
Location:
c/src/lib/libbsp/m68k/shared/gdbstub
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/m68k/shared/gdbstub/ChangeLog

    r42e4230 ree55cdb  
     12002-10-31      Joel Sherrill <joel@OARcorp.com>
     2
     3        * m68k-stub.c: Fixed warnings about multi-line strings in asm.
     4
    152002-07-01      Joel Sherrill <joel@OARcorp.com>
    26
  • c/src/lib/libbsp/m68k/shared/gdbstub/m68k-stub.c

    r42e4230 ree55cdb  
    351351");
    352352SAVE_FP_REGS();       
    353 asm("
    354         lea     registers,%a5   /* get address of registers     */
    355         move.w  (%sp),%d1        /* get status register          */
    356         move.w   %d1,66(%a5)      /* save sr                    */     
    357         move.l   2(%sp),%a4      /* save pc in a4 for later use  */
    358         move.w   6(%sp),%d0     /* get '020 exception format    */
    359         move.w   %d0,%d2        /* make a copy of format word   */
    360 #
    361 # compute exception number
    362         and.l    #0xfff,%d2     /* mask off vector offset       */
    363         lsr.w    #2,%d2         /* divide by 4 to get vect num  */
    364 #if 1
    365         cmp.l    #33,%d2
    366         bne      nopc_adjust
    367         subq.l   #2,%a4
    368 nopc_adjust:
    369 #endif
    370         move.l   %a4,68(%a5)     /* save pc in _regisers[]              */
    371 
    372 #
    373 # figure out how many bytes in the stack frame
    374         andi.w   #0xf000,%d0    /* mask off format type         */
    375         rol.w    #5,%d0         /* rotate into the low byte *2  */
    376         lea     exceptionSize,%a1   
    377         add.w    %d0,%a1        /* index into the table         */
    378         move.w   (%a1),%d0      /* get number of words in frame */
    379         move.w   %d0,%d3        /* save it                      */
    380         sub.w    %d0,%a0        /* adjust save pointer          */
    381         sub.w    %d0,%a0        /* adjust save pointer(bytes)   */
    382         move.l   %a0,%a1        /* copy save pointer            */
    383         subq.l   #1,%d0         /* predecrement loop counter    */
    384 #
    385 # copy the frame
    386 saveFrameLoop:
    387         move.w  (%sp)+,(%a1)+
    388         dbf     %d0,saveFrameLoop
    389 #
    390 # now that the stack has been clenaed,
    391 # save the a7 in use at time of exception
    392         move.l   %sp,superStack  /* save supervisor sp           */
    393         andi.w   #0x2000,%d1      /* were we in supervisor mode ? */
    394         beq      userMode       
    395         move.l   %a7,60(%a5)      /* save a7                  */
    396         bra      a7saveDone
    397 userMode: 
    398         move.l   %usp,%a1       
    399         move.l   %a1,60(%a5)      /* save user stack pointer    */
    400 a7saveDone:
    401 
    402 #
    403 # save size of frame
    404         move.w   %d3,-(%a0)
    405 
    406         move.l   %d2,-(%a0)     /* save vector number           */
    407 #
    408 # save pc causing exception
    409         move.l   %a4,-(%a0)
    410 #
    411 # save old frame link and set the new value
    412         move.l  lastFrame,%a1   /* last frame pointer */
    413         move.l   %a1,-(%a0)             /* save pointer to prev frame   */
    414         move.l   %a0,lastFrame
    415 
    416         move.l   %d2,-(%sp)         /* push exception num           */
    417         move.l   exceptionHook,%a0  /* get address of handler */
    418         jbsr    (%a0)             /* and call it */
    419         clr.l   (%sp)            /* replace exception num parm with frame ptr */
    420         jbsr     _returnFromException   /* jbsr, but never returns */
    421 ");
     353asm("\n\
     354        lea     registers,%a5   /* get address of registers     */\n\
     355        move.w  (%sp),%d1        /* get status register          */\n\
     356        move.w   %d1,66(%a5)      /* save sr                    */      \n\
     357        move.l   2(%sp),%a4      /* save pc in a4 for later use  */\n\
     358        move.w   6(%sp),%d0     /* get '020 exception format    */\n\
     359        move.w   %d0,%d2        /* make a copy of format word   */\n\
     360#\n\
     361# compute exception number\n\
     362        and.l    #0xfff,%d2     /* mask off vector offset       */\n\
     363        lsr.w    #2,%d2         /* divide by 4 to get vect num  */\n\
     364/* #if 1 */\n\
     365        cmp.l    #33,%d2\n\
     366        bne      nopc_adjust\n\
     367        subq.l   #2,%a4\n\
     368nopc_adjust:\n\
     369/* #endif */\n\
     370        move.l   %a4,68(%a5)     /* save pc in _regisers[]              */\n\
     371\n\
     372#\n\
     373# figure out how many bytes in the stack frame\n\
     374        andi.w   #0xf000,%d0    /* mask off format type         */\n\
     375        rol.w    #5,%d0         /* rotate into the low byte *2  */\n\
     376        lea     exceptionSize,%a1   \n\
     377        add.w    %d0,%a1        /* index into the table         */\n\
     378        move.w   (%a1),%d0      /* get number of words in frame */\n\
     379        move.w   %d0,%d3        /* save it                      */\n\
     380        sub.w    %d0,%a0        /* adjust save pointer          */\n\
     381        sub.w    %d0,%a0        /* adjust save pointer(bytes)   */\n\
     382        move.l   %a0,%a1        /* copy save pointer            */\n\
     383        subq.l   #1,%d0         /* predecrement loop counter    */\n\
     384#\n\
     385# copy the frame\n\
     386saveFrameLoop:\n\
     387        move.w  (%sp)+,(%a1)+\n\
     388        dbf     %d0,saveFrameLoop\n\
     389#\n\
     390# now that the stack has been clenaed,\n\
     391# save the a7 in use at time of exception\n\
     392        move.l   %sp,superStack  /* save supervisor sp           */\n\
     393        andi.w   #0x2000,%d1      /* were we in supervisor mode ? */\n\
     394        beq      userMode       \n\
     395        move.l   %a7,60(%a5)      /* save a7                  */\n\
     396        bra      a7saveDone\n\
     397userMode:  \n\
     398        move.l   %usp,%a1       \n\
     399        move.l   %a1,60(%a5)      /* save user stack pointer    */\n\
     400a7saveDone:\n\
     401\n\
     402#\n\
     403# save size of frame\n\
     404        move.w   %d3,-(%a0)\n\
     405\n\
     406        move.l   %d2,-(%a0)     /* save vector number           */\n\
     407#\n\
     408# save pc causing exception\n\
     409        move.l   %a4,-(%a0)\n\
     410#\n\
     411# save old frame link and set the new value\n\
     412        move.l  lastFrame,%a1   /* last frame pointer */\n\
     413        move.l   %a1,-(%a0)             /* save pointer to prev frame   */\n\
     414        move.l   %a0,lastFrame\n\
     415\n\
     416        move.l   %d2,-(%sp)         /* push exception num           */\n\
     417        move.l   exceptionHook,%a0  /* get address of handler */\n\
     418        jbsr    (%a0)             /* and call it */\n\
     419        clr.l   (%sp)            /* replace exception num parm with frame ptr */\n\
     420        jbsr     _returnFromException   /* jbsr, but never returns */\n\
     421");\n\
    422422#else /* mc68000 */
    423423/* This function is called when an exception occurs.  It translates the
     
    433433 *   Return Address  LSWord             
    434434 */
    435 asm("
    436 .text
    437 .globl _catchException
     435asm("\n\
     436.text\n\
     437.globl _catchException\n\
    438438_catchException:");
    439439DISABLE_INTERRUPTS();
    440 asm("
     440asm("\
    441441        moveml %d0-%d7/%a0-%a6,registers  /* save registers               */ \n\
    442442        movel   lastFrame,%a0   /* last frame pointer */ \n\
     
    667667
    668668
    669 void debug_error(format, parm)
    670 char * format;
    671 char * parm;
     669void debug_error(
     670char * format,
     671char * parm
     672)
    672673{
    673674  if (remote_debug) fprintf (stderr,format,parm);
Note: See TracChangeset for help on using the changeset viewer.