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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Source/] [portable/] [GCC/] [OpenRISC/] [portasm.S] - Diff between revs 664 and 665

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 664 Rev 665
Line 72... Line 72...
 
 
 
 
.macro portSAVE_CONTEXT
.macro portSAVE_CONTEXT
        .global pxCurrentTCB
        .global pxCurrentTCB
        # make rooms in stack
        # make rooms in stack
        l.addi  r1, r1, -128
        l.addi  r1, r1, -132
        # early save r3-r5, these are clobber register
        # early save r3-r5, these are clobber register
        l.sw    0x08(r1), r3
        l.sw    0x08(r1), r3
        l.sw    0x0C(r1), r4
        l.sw    0x0C(r1), r4
        l.sw    0x10(r1), r5
        l.sw    0x10(r1), r5
        # save SPR_ESR_BASE(0), SPR_EPCR_BASE(0)
        # save SPR_ESR_BASE(0), SPR_EPCR_BASE(0)
Line 164... Line 164...
        l.mtspr r0, r4, SPR_EPCR_BASE
        l.mtspr r0, r4, SPR_EPCR_BASE
        # restore clobber register
        # restore clobber register
        l.lwz   r3, 0x08(r1)
        l.lwz   r3, 0x08(r1)
        l.lwz   r4, 0x0C(r1)
        l.lwz   r4, 0x0C(r1)
        l.lwz   r5, 0x10(r1)
        l.lwz   r5, 0x10(r1)
        l.addi  r1, r1, 128
        l.addi  r1, r1, 132
        l.rfe
        l.rfe
        l.nop
        l.nop
.endm
.endm
 
 
 
 

powered by: WebSVN 2.1.0

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