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

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/ecos-3.0/packages/hal/openrisc/arch/current/src
    from Rev 786 to Rev 790
    Reverse comparison

Rev 786 → Rev 790

/hal_misc.c
175,7 → 175,7
 
/*------------------------------------------------------------------------*/
/* Determine the index of the ls bit of the supplied mask. */
 
//TODO can we use l.ff1 ?
cyg_uint32 hal_lsbit_index(cyg_uint32 mask)
{
cyg_uint32 n = mask;
197,7 → 197,7
 
/*------------------------------------------------------------------------*/
/* Determine the index of the ms bit of the supplied mask. */
 
//TODO can we use l.fl1 ?
cyg_uint32 hal_msbit_index(cyg_uint32 mask)
{
cyg_uint32 x = mask;
/context.S
70,7 → 70,6
l.sw 2 * OR1K_GPRSIZE(sp), r2
l.sw 9 * OR1K_GPRSIZE(sp), r9
l.sw 10 * OR1K_GPRSIZE(sp), r10
l.sw 12 * OR1K_GPRSIZE(sp), r12
l.sw 14 * OR1K_GPRSIZE(sp), r14
l.sw 16 * OR1K_GPRSIZE(sp), r16
l.sw 18 * OR1K_GPRSIZE(sp), r18
81,7 → 80,6
l.sw 28 * OR1K_GPRSIZE(sp), r28
l.sw 30 * OR1K_GPRSIZE(sp), r30
 
#undef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
#ifndef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
# R0 is not typically stored because it is always zero-valued,
89,7 → 87,7
# in the debugger.
l.sw 0 * OR1K_GPRSIZE(sp), r0
 
# Caller-saved regs don't need to be preserved across
# Caller-saved temporary regs don't need to be preserved across
# context switches, but we do so to make debugging easier.
 
l.sw 3 * OR1K_GPRSIZE(sp), r3
99,6 → 97,7
l.sw 7 * OR1K_GPRSIZE(sp), r7
l.sw 8 * OR1K_GPRSIZE(sp), r8
l.sw 11 * OR1K_GPRSIZE(sp), r11
l.sw 12 * OR1K_GPRSIZE(sp), r12
l.sw 13 * OR1K_GPRSIZE(sp), r13
l.sw 15 * OR1K_GPRSIZE(sp), r15
l.sw 17 * OR1K_GPRSIZE(sp), r17
110,6 → 109,8
l.sw 29 * OR1K_GPRSIZE(sp), r29
l.sw 31 * OR1K_GPRSIZE(sp), r31
 
#endif
 
# save MAC LO and HI regs
l.mfspr r5,r0,SPR_MACLO
l.sw OR1KREG_MACLO(sp),r5
116,7 → 117,6
l.mfspr r5,r0,SPR_MACHI
l.sw OR1KREG_MACHI(sp),r5
#endif
 
#ifdef CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
# Make the thread context look like an exception context if thread-
155,7 → 155,6
l.lwz r2, 2 * OR1K_GPRSIZE(sp)
l.lwz r9, 9 * OR1K_GPRSIZE(sp)
l.lwz r10, 10 * OR1K_GPRSIZE(sp)
l.lwz r12, 12 * OR1K_GPRSIZE(sp)
l.lwz r14, 14 * OR1K_GPRSIZE(sp)
l.lwz r16, 16 * OR1K_GPRSIZE(sp)
l.lwz r18, 18 * OR1K_GPRSIZE(sp)
176,13 → 175,6
l.or r5, r5, r6
l.mtspr r0, r5, SPR_SR
 
#undef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
#ifndef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
 
# Caller-saved regs don't need to be preserved across
# context switches, but we do so here to make debugging
# easier.
 
# Restore MAC LO and HI regs
l.lwz r5, OR1KREG_MACLO(sp)
l.mtspr r0,r5,SPR_MACLO
189,6 → 181,12
l.lwz r5, OR1KREG_MACHI(sp)
l.mtspr r0,r5,SPR_MACHI
 
#ifndef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
 
# Caller-saved temporary regs don't need to be preserved across
# context switches, but we do so here to make debugging
# easier.
 
l.lwz r4, 4 * OR1K_GPRSIZE(sp)
l.lwz r5, 5 * OR1K_GPRSIZE(sp)
l.lwz r6, 6 * OR1K_GPRSIZE(sp)
195,6 → 193,7
l.lwz r7, 7 * OR1K_GPRSIZE(sp)
l.lwz r8, 8 * OR1K_GPRSIZE(sp)
l.lwz r11, 11 * OR1K_GPRSIZE(sp)
l.lwz r12, 12 * OR1K_GPRSIZE(sp)
l.lwz r13, 13 * OR1K_GPRSIZE(sp)
l.lwz r15, 15 * OR1K_GPRSIZE(sp)
l.lwz r17, 17 * OR1K_GPRSIZE(sp)
/vectors.S
122,6 → 122,7
l.sw 8 * OR1K_GPRSIZE(sp), r8
l.sw 9 * OR1K_GPRSIZE(sp), r9
l.sw 11 * OR1K_GPRSIZE(sp), r11
l.sw 12 * OR1K_GPRSIZE(sp), r12
l.sw 13 * OR1K_GPRSIZE(sp), r13
l.sw 15 * OR1K_GPRSIZE(sp), r15
l.sw 17 * OR1K_GPRSIZE(sp), r17
133,7 → 134,6
l.sw 29 * OR1K_GPRSIZE(sp), r29
l.sw 31 * OR1K_GPRSIZE(sp), r31
 
#undef CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
#ifndef CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
 
# R0 is not typically stored because it is always zero-valued,
145,7 → 145,6
# an ISR, but we can do so to make debugging easier.
l.sw 2 * OR1K_GPRSIZE(sp), r2
l.sw 10 * OR1K_GPRSIZE(sp), r10
l.sw 12 * OR1K_GPRSIZE(sp), r12
l.sw 14 * OR1K_GPRSIZE(sp), r14
l.sw 16 * OR1K_GPRSIZE(sp), r16
l.sw 18 * OR1K_GPRSIZE(sp), r18
156,12 → 155,12
l.sw 28 * OR1K_GPRSIZE(sp), r28
l.sw 30 * OR1K_GPRSIZE(sp), r30
 
#endif
# save MAC LO and HI regs
l.mfspr r5,r0,SPR_MACLO
l.sw OR1KREG_MACLO(sp),r5
l.mfspr r5,r0,SPR_MACHI
l.sw OR1KREG_MACHI(sp),r5
#endif
# Save SP of interruptee in reg dump
l.addi r5,sp,SIZEOF_OR1KREGS+132
660,6 → 659,7
l.lwz r8, 8 * OR1K_GPRSIZE(sp)
l.lwz r9, 9 * OR1K_GPRSIZE(sp)
l.lwz r11, 11 * OR1K_GPRSIZE(sp)
l.lwz r12, 12 * OR1K_GPRSIZE(sp)
l.lwz r13, 13 * OR1K_GPRSIZE(sp)
l.lwz r15, 15 * OR1K_GPRSIZE(sp)
l.lwz r17, 17 * OR1K_GPRSIZE(sp)
671,7 → 671,6
l.lwz r29, 29 * OR1K_GPRSIZE(sp)
l.lwz r31, 31 * OR1K_GPRSIZE(sp)
 
#undef CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
#ifndef CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
# Callee-saved regs don't need to be preserved across a call into
# an ISR, but we can do so to make debugging easier.
678,7 → 677,6
 
l.lwz r2, 2 * OR1K_GPRSIZE(sp)
l.lwz r10, 10 * OR1K_GPRSIZE(sp)
l.lwz r12, 12 * OR1K_GPRSIZE(sp)
l.lwz r14, 14 * OR1K_GPRSIZE(sp)
l.lwz r16, 16 * OR1K_GPRSIZE(sp)
l.lwz r18, 18 * OR1K_GPRSIZE(sp)
689,12 → 687,12
l.lwz r28, 28 * OR1K_GPRSIZE(sp)
l.lwz r30, 30 * OR1K_GPRSIZE(sp)
 
#endif
# Restore MAC LO and HI regs
l.lwz r4, OR1KREG_MACLO(sp)
l.mtspr r0,r4,SPR_MACLO
l.lwz r4, OR1KREG_MACHI(sp)
l.mtspr r0,r4,SPR_MACHI
#endif
 
# Must disable interrupts, since they could clobber ESR and EPC regs
l.mfspr r3, r0, SPR_SR

powered by: WebSVN 2.1.0

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