Changeset f14b925 in rtems


Ignore:
Timestamp:
Jul 1, 2002, 10:21:52 PM (18 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
3a05d15
Parents:
17083db
Message:

2002-07-01 Joel Sherrill <joel@…>

  • m68k-stub.c: Eliminated multi-line asm statements for gcc 3.x.
Location:
c/src/lib/libbsp/m68k/shared/gdbstub
Files:
2 edited

Legend:

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

    r17083db rf14b925  
     12002-07-01      Joel Sherrill <joel@OARcorp.com>
     2
     3        * m68k-stub.c: Eliminated multi-line asm statements for gcc 3.x.
     4
    152002-06-25      Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
    26
  • c/src/lib/libbsp/m68k/shared/gdbstub/m68k-stub.c

    r17083db rf14b925  
    263263      */
    264264{
    265 asm("
    266 .globl return_to_super
    267 return_to_super:
    268         move.l   registers+60,%sp /* get new stack pointer */       
    269         move.l   lastFrame,%a0   /* get last frame info  */              
    270         bra     return_to_any
    271 
    272 .globl _return_to_user
    273 return_to_user:
    274         move.l   registers+60,%a0 /* get usp */                          
    275         move.l   %a0,%usp           /* set usp */                              
    276         move.l   superStack,%sp  /* get original stack pointer */        
    277 
    278 return_to_any:
    279         move.l   lastFrame,%a0   /* get last frame info  */              
    280         move.l   (%a0)+,lastFrame /* link in previous frame     */       
    281         addq.l   #8,%a0           /* skip over pc, vector#*/             
    282         move.w   (%a0)+,%d0         /* get # of words in cpu frame */      
    283         add.w    %d0,%a0           /* point to end of data        */       
    284         add.w    %d0,%a0           /* point to end of data        */       
    285         move.l   %a0,%a1                                                   
    286 #                                                                       
    287 # copy the stack frame                                                 
    288         subq.l   #1,%d0                                                  
    289 copyUserLoop:                                                              
    290         move.w   -(%a1),-(%sp)
    291         dbf     %d0,copyUserLoop                                             
    292 ");                                                                     
    293         RESTORE_FP_REGS()                                              
     265asm("\n\
     266.globl return_to_super                                                  \n\
     267return_to_super:                                                        \n\
     268        move.l   registers+60,%sp /* get new stack pointer */           \n\
     269        move.l   lastFrame,%a0   /* get last frame info  */             \n\
     270        bra     return_to_any                                           \n\
     271                                                                        \n\
     272.globl _return_to_user                                                  \n\
     273return_to_user:                                                         \n\
     274        move.l   registers+60,%a0 /* get usp */                         \n\
     275        move.l   %a0,%usp           /* set usp */                       \n\
     276        move.l   superStack,%sp  /* get original stack pointer */       \n\
     277                                                                        \n\
     278return_to_any:                                                          \n\
     279        move.l   lastFrame,%a0   /* get last frame info  */             \n\
     280        move.l   (%a0)+,lastFrame /* link in previous frame     */      \n\
     281        addq.l   #8,%a0           /* skip over pc, vector#*/            \n\
     282        move.w   (%a0)+,%d0         /* get # of words in cpu frame */   \n\
     283        add.w    %d0,%a0           /* point to end of data        */    \n\
     284        add.w    %d0,%a0           /* point to end of data        */    \n\
     285        move.l   %a0,%a1                                                \n\
     286#                                                                       \n\
     287# copy the stack frame                                                  \n\
     288        subq.l   #1,%d0                                                 \n\
     289copyUserLoop:                                                           \n\
     290        move.w   -(%a1),-(%sp)                                          \n\
     291        dbf     %d0,copyUserLoop                                        \n\
     292");
     293        RESTORE_FP_REGS()
    294294   asm("   movem.l  registers,%d0-%d7/%a0-%a6");                               
    295295   asm("   rte");  /* pop and go! */                                   
     
    302302/* this interrupt and an rte is in order to return to the debugger.    */
    303303/* For the 68000, the offset for sr is 6 due to the jsr return address */
    304 asm("
    305 .text
    306 .globl _debug_level7
    307 _debug_level7:
     304asm("                                           \n\
     305.text                                           \n\
     306.globl _debug_level7                            \n\
     307_debug_level7:                                  \n\
    308308        move.w   %d0,-(%sp)");
    309309#if M68K_HAS_VBR
     
    312312asm("   move.w   6(%sp),%d0");
    313313#endif
    314 asm("   andi.w   #0x700,%d0
    315         cmpi.w   #0x700,%d0
    316         beq     already7
    317         move.w   (%sp)+,%d0     
    318         bra     _catchException
    319 already7:
     314asm("   andi.w   #0x700,%d0                     \n\
     315        cmpi.w   #0x700,%d0                     \n\
     316        beq     already7                        \n\
     317        move.w   (%sp)+,%d0                     \n\
     318        bra     _catchException                 \n\
     319already7:                                       \n\
    320320        move.w   (%sp)+,%d0");
    321321#if !M68K_HAS_VBR
     
    341341 *                                       
    342342 */
    343 asm("
    344 .text
    345 .globl _catchException
     343asm("                                           \n\
     344.text                                           \n\
     345.globl _catchException                          \n\
    346346_catchException:");
    347347DISABLE_INTERRUPTS();
    348 asm("
    349         movem.l  %d0-%d7/%a0-%a6,registers /* save registers        */
    350         move.l  lastFrame,%a0   /* last frame pointer */
     348asm("                                                                   \n\
     349        movem.l  %d0-%d7/%a0-%a6,registers /* save registers        */  \n\
     350        move.l  lastFrame,%a0   /* last frame pointer */                \n\
    351351");
    352352SAVE_FP_REGS();       
Note: See TracChangeset for help on using the changeset viewer.