Changeset bd39add in rtems


Ignore:
Timestamp:
May 31, 2013, 8:08:43 AM (6 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
f2f211c5
Parents:
ffbeb6f
git-author:
Sebastian Huber <sebastian.huber@…> (05/31/13 08:08:43)
git-committer:
Sebastian Huber <sebastian.huber@…> (05/31/13 13:20:32)
Message:

bsp/qoriq: Add SMP support

Location:
c/src/lib/libbsp/powerpc/qoriq
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/qoriq/Makefile.am

    rffbeb6f rbd39add  
    126126endif
    127127
     128if HAS_SMP
     129libbsp_a_SOURCES += startup/smp.c
     130endif
     131
    128132include $(srcdir)/preinstall.am
    129133include $(top_srcdir)/../../../../automake/local.am
  • c/src/lib/libbsp/powerpc/qoriq/configure.ac

    rffbeb6f rbd39add  
    9898AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
    9999
     100RTEMS_CHECK_SMP
     101AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"])
     102
    100103RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
    101104RTEMS_PPC_EXCEPTIONS
  • c/src/lib/libbsp/powerpc/qoriq/include/bsp.h

    rffbeb6f rbd39add  
    88
    99/*
    10  * Copyright (c) 2010 embedded brains GmbH.  All rights reserved.
     10 * Copyright (c) 2010-2013 embedded brains GmbH.  All rights reserved.
    1111 *
    1212 *  embedded brains GmbH
    13  *  Obere Lagerstr. 30
     13 *  Dornierstr. 4
    1414 *  82178 Puchheim
    1515 *  Germany
     
    6060#define RTEMS_BSP_NETWORK_DRIVER_NAME4 "intercom1"
    6161
     62void qoriq_secondary_cpu_initialize(void);
     63
    6264#ifdef __cplusplus
    6365}
  • c/src/lib/libbsp/powerpc/qoriq/start/start.S

    rffbeb6f rbd39add  
    88
    99/*
    10  * Copyright (c) 2010-2012 embedded brains GmbH.  All rights reserved.
     10 * Copyright (c) 2010-2013 embedded brains GmbH.  All rights reserved.
    1111 *
    1212 *  embedded brains GmbH
    13  *  Obere Lagerstr. 30
     13 *  Dornierstr. 4
    1414 *  82178 Puchheim
    1515 *  Germany
     
    3333
    3434        .globl _start
     35        .globl _start_core_1
    3536        .globl bsp_exc_vector_base
    3637
     
    170171        b       memcpy
    171172
     173_start_core_1:
     174
     175        /* Reset time base */
     176        li      r0, 0
     177        mtspr   TBWU, r0
     178        mtspr   TBWL, r0
     179
     180        /* Get start stack */
     181        subi    r1, r3, 16
     182
     183        /* Initial MMU setup */
     184        bl      qoriq_tlb1_ts_0_only
     185        li      r3, SCRATCH_TLB
     186        li      r4, FSL_EIS_MAS1_TS
     187        li      r5, FSL_EIS_MAS2_I
     188        li      r6, FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW | FSL_EIS_MAS3_SX
     189        li      r7, 0
     190        li      r8, 11
     191        bl      qoriq_tlb1_write
     192
     193        /* MSR initialization */
     194        LWI     INITIAL_MSR, QORIQ_INITIAL_MSR
     195        ori     r0, INITIAL_MSR, MSR_IS | MSR_DS
     196        mtmsr   r0
     197
     198        /* SPEFSCR initialization */
     199        LWI     r0, QORIQ_INITIAL_SPEFSCR
     200        mtspr   FSL_EIS_SPEFSCR, r0
     201
     202        /* Initialize start stack */
     203        li      r0, 0
     204        stw     r0, 0(r1)
     205
     206        /* Configure MMU */
     207        li      r3, FIRST_TLB
     208        li      r4, SCRATCH_TLB
     209        bl      qoriq_mmu_config
     210        mtmsr   INITIAL_MSR
     211        li      r3, SCRATCH_TLB
     212        bl      qoriq_tlb1_invalidate
     213
     214        /* Set small-data anchors */
     215        LA      r2, _SDA2_BASE_
     216        LA      r13, _SDA_BASE_
     217
     218        b       qoriq_secondary_cpu_initialize
     219
     220        b       twiddle
     221
    172222        /* Exception vector prologues area */
    173223        .section ".bsp_start_text", "ax"
  • c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c

    rffbeb6f rbd39add  
    88
    99/*
    10  * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
     10 * Copyright (c) 2011-2013 embedded brains GmbH.  All rights reserved.
    1111 *
    1212 *  embedded brains GmbH
    13  *  Obere Lagerstr. 30
     13 *  Dornierstr. 4
    1414 *  82178 Puchheim
    1515 *  Germany
     
    2121 */
    2222
    23 #include <bspopts.h>
     23#include <bsp.h>
    2424#include <bsp/mmu.h>
    2525#include <bsp/linker-symbols.h>
     
    5050}
    5151
     52#ifdef RTEMS_SMP
     53  #define ENTRY_RW_MAS2 FSL_EIS_MAS2_M
     54#else
     55  #define ENTRY_RW_MAS2 0
     56#endif
     57
    5258#define ENTRY_RW(b, s) { \
    5359        .begin = (uint32_t) b, \
    5460        .size = (uint32_t) s, \
    55         .mas2 = 0, \
     61        .mas2 = ENTRY_RW_MAS2, \
    5662        .mas3 = FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW \
    5763}
Note: See TracChangeset for help on using the changeset viewer.