Changeset 01531fb6 in rtems


Ignore:
Timestamp:
Oct 7, 2015, 11:38:59 AM (4 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
707ecbe
Parents:
55c8d19d
Message:

bsp/qoriq: Initilize FPU

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/qoriq/start/start.S

    r55c8d19d r01531fb6  
    2929#include <bsp/vectors.h>
    3030
     31#if (QORIQ_INITIAL_MSR & MSR_FP) != 0
     32#define INITIALIZE_FPU
     33#endif
     34
    3135#define FIRST_TLB 0
    3236#define SCRATCH_TLB QORIQ_TLB1_ENTRY_COUNT - 1
     
    7276        li      r0, 0
    7377        stw     r0, 0(r1)
     78
     79#ifdef INITIALIZE_FPU
     80        bl      .Linitfpu
     81#endif
    7482
    7583        /* Copy fast text */
     
    174182        blr
    175183
     184#ifdef INITIALIZE_FPU
     185        /*
     186         * Write a value to the FPRs to initialize the hidden tag bits.  See
     187         * also "Core Software Initialization Requirements" of the e500mc
     188         * reference manual for example.
     189         */
     190.Linitfpu:
     191        li      r0, 0
     192        stw     r0, 0(r1)
     193        stw     r0, 4(r1)
     194        lfd     f0, 0(r1)
     195        fmr     f1, f0
     196        fmr     f2, f0
     197        fmr     f3, f0
     198        fmr     f4, f0
     199        fmr     f5, f0
     200        fmr     f6, f0
     201        fmr     f7, f0
     202        fmr     f8, f0
     203        fmr     f9, f0
     204        fmr     f10, f0
     205        fmr     f11, f0
     206        fmr     f12, f0
     207        fmr     f13, f0
     208        fmr     f14, f0
     209        fmr     f15, f0
     210        fmr     f16, f0
     211        fmr     f17, f0
     212        fmr     f18, f0
     213        fmr     f19, f0
     214        fmr     f20, f0
     215        fmr     f21, f0
     216        fmr     f22, f0
     217        fmr     f23, f0
     218        fmr     f24, f0
     219        fmr     f25, f0
     220        fmr     f26, f0
     221        fmr     f27, f0
     222        fmr     f28, f0
     223        fmr     f29, f0
     224        fmr     f30, f0
     225        fmr     f31, f0
     226        blr
     227#endif
     228
    176229#ifdef RTEMS_SMP
    177230#if QORIQ_THREAD_COUNT > 1
     
    224277        stw     r0, 0(r1)
    225278
     279#ifdef INITIALIZE_FPU
     280        bl      .Linitfpu
     281#endif
     282
    226283        /* Configure MMU */
    227284        li      r3, FIRST_TLB
Note: See TracChangeset for help on using the changeset viewer.