OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [openrisc/] [arch/] [current/] [src/] [context.S] - Diff between revs 790 and 838

Show entire file | Details | Blame | View Log

Rev 790 Rev 838
Line 215... Line 215...
 
 
        # Finally, restore target thread's true SP
        # Finally, restore target thread's true SP
        l.lwz   sp,   1 * OR1K_GPRSIZE(sp)
        l.lwz   sp,   1 * OR1K_GPRSIZE(sp)
 
 
        l.jr    lr
        l.jr    lr
 
#ifdef CYGHWR_BRANCH_SLOT_IMPLEMENTED
        l.nop                                   # delay slot - must be nop
        l.nop                                   # delay slot - must be nop
 
#endif
 
 
FUNC_END(hal_thread_load_context)
FUNC_END(hal_thread_load_context)
 
 
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# HAL longjmp, setjmp implementations
# HAL longjmp, setjmp implementations
Line 265... Line 267...
        l.sw    CYGARC_JMP_BUF_R26 * OR1K_GPRSIZE(r3), r26
        l.sw    CYGARC_JMP_BUF_R26 * OR1K_GPRSIZE(r3), r26
        l.sw    CYGARC_JMP_BUF_R28 * OR1K_GPRSIZE(r3), r28
        l.sw    CYGARC_JMP_BUF_R28 * OR1K_GPRSIZE(r3), r28
        l.sw    CYGARC_JMP_BUF_R30 * OR1K_GPRSIZE(r3), r30
        l.sw    CYGARC_JMP_BUF_R30 * OR1K_GPRSIZE(r3), r30
        l.movhi rv, 0
        l.movhi rv, 0
        l.jr    lr
        l.jr    lr
 
#ifdef CYGHWR_BRANCH_SLOT_IMPLEMENTED
        l.nop                   # delay slot
        l.nop                   # delay slot
 
#endif
 
 
FUNC_END(hal_setjmp)
FUNC_END(hal_setjmp)
 
 
 
 
FUNC_START(hal_longjmp)
FUNC_START(hal_longjmp)
        l.lwz    r1, CYGARC_JMP_BUF_R1  * OR1K_GPRSIZE(r3)
        l.lwz    r1, CYGARC_JMP_BUF_R1  * OR1K_GPRSIZE(r3)
Line 287... Line 292...
        l.lwz   r28, CYGARC_JMP_BUF_R28 * OR1K_GPRSIZE(r3)
        l.lwz   r28, CYGARC_JMP_BUF_R28 * OR1K_GPRSIZE(r3)
        l.lwz   r30, CYGARC_JMP_BUF_R30 * OR1K_GPRSIZE(r3)
        l.lwz   r30, CYGARC_JMP_BUF_R30 * OR1K_GPRSIZE(r3)
        l.movhi rv, 0
        l.movhi rv, 0
        l.or    rv, rv, r4
        l.or    rv, rv, r4
        l.jr    lr
        l.jr    lr
 
#ifdef CYGHWR_BRANCH_SLOT_IMPLEMENTED
        l.nop                   # delay slot
        l.nop                   # delay slot
 
#endif
 
 
FUNC_END(hal_longjmp)
FUNC_END(hal_longjmp)
 
 
 
 
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# end of context.S
# end of context.S

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.