Changeset 52448f35 in rtems


Ignore:
Timestamp:
Apr 3, 2000, 1:57:34 PM (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Children:
0d744ab
Parents:
d2d4372d
Message:

Patch from Jay Kulpinski <jskulpin@…> that addresses
a floating point support problem discovered with the mvme2307 BSP.
A floating point not available exception would occur when trying
to switch to a new thread with the floating point attribute.
Floating point instructions were disabled, but floating point
loads and stores were needed to save and/or restore the context.

Location:
c/src/lib/libbsp/powerpc/shared
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/shared/irq/irq_asm.S

    rd2d4372d r52448f35  
    8686        /*
    8787         * Enable data and instruction address translation, exception recovery
    88          */
     88     *
     89     * also, on CPUs with FP, enable FP so that FP context can be
     90     * saved and restored (using FP instructions)
     91         */
     92#if (PPC_HAS_FPU == 0)
    8993        ori     r3, r3, MSR_RI | MSR_IR | MSR_DR
     94#else
     95        ori     r3, r3, MSR_RI | MSR_IR | MSR_DR | MSR_FP
     96#endif
    9097        mtmsr   r3
    9198        SYNC
  • c/src/lib/libbsp/powerpc/shared/start/start.S

    rd2d4372d r52448f35  
    107107MMUon: 
    108108        mfmsr   r0
    109         ori     r0,r0, MSR_IP | MSR_RI | MSR_IR | MSR_DR | MSR_EE | MSR_FE0 | MSR_FE1
     109#if (PPC_HAS_FPU == 0)
     110        ori     r0,r0, MSR_IP | MSR_RI | MSR_IR | MSR_DR | MSR_EE | MSR_FE0 | MSR_FE1 | MSR_FP
    110111        xori    r0, r0, MSR_EE | MSR_IP | MSR_FP
     112#else
     113        ori     r0,r0, MSR_IP | MSR_RI | MSR_IR | MSR_DR | MSR_EE | MSR_FE0 | MSR_FE1 | MSR_FP
     114        xori    r0, r0, MSR_EE | MSR_IP | MSR_FE0 | MSR_FE1
     115#endif
    111116        mflr    r11
    112117        mtsrr0  r11
Note: See TracChangeset for help on using the changeset viewer.