Changeset 0e05095a in rtems


Ignore:
Timestamp:
Dec 19, 2014, 12:06:39 PM (7 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, 5, master
Children:
a532301c
Parents:
71b611d
git-author:
Sebastian Huber <sebastian.huber@…> (12/19/14 12:06:39)
git-committer:
Sebastian Huber <sebastian.huber@…> (01/09/15 13:03:34)
Message:

bsp/qoriq: Add MAS7 support for MMU

This enables usage of the full real address space which is 40-bit on the
T2080 for example.

Location:
c/src/lib/libbsp/powerpc/qoriq
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/qoriq/configure.ac

    r71b611d r0e05095a  
    9191RTEMS_BSPOPTS_HELP([QORIQ_INITIAL_SPEFSCR],[initial SPEFSCR value])
    9292
     93RTEMS_BSPOPTS_SET([QORIQ_MMU_DEVICE_MAS7],[*],[0x0])
     94RTEMS_BSPOPTS_HELP([QORIQ_MMU_DEVICE_MAS7],[MAS7 value for device TLB1 entries])
     95
    9396RTEMS_BSPOPTS_SET([QORIQ_CLOCK_TIMER],[qoriq_core_1],[4])
    9497RTEMS_BSPOPTS_SET([QORIQ_CLOCK_TIMER],[*],[0])
  • c/src/lib/libbsp/powerpc/qoriq/include/mmu.h

    r71b611d r0e05095a  
    5353        uint32_t mas2;
    5454        uint32_t mas3;
     55        uint32_t mas7;
    5556} qoriq_mmu_entry;
    5657
     
    6869        uint32_t mas1,
    6970        uint32_t mas2,
    70         uint32_t mas3
     71        uint32_t mas3,
     72        uint32_t mas7
    7173);
    7274
     
    8486        uint32_t mas2,
    8587        uint32_t mas3,
     88        uint32_t mas7,
    8689        uint32_t ea,
    8790        uint32_t tsize
  • c/src/lib/libbsp/powerpc/qoriq/start/start.S

    r71b611d r0e05095a  
    5959        li      r6, FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW | FSL_EIS_MAS3_SX
    6060        li      r7, 0
    61         li      r8, 11
     61        li      r8, 0
     62        li      r9, 11
    6263        bl      qoriq_tlb1_write
    6364
     
    138139        li      r5, 0
    139140        li      r6, FSL_EIS_MAS3_SR
    140         mr      r7, UBOOT_BOARD_INFO
    141         li      r8, 1
     141        li      r7, 0
     142        mr      r8, UBOOT_BOARD_INFO
     143        li      r9, 1
    142144        bl      qoriq_tlb1_write
    143145        mr      r3, UBOOT_BOARD_INFO
     
    181183        li      r6, FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW | FSL_EIS_MAS3_SX
    182184        li      r7, 0
    183         li      r8, 11
     185        li      r8, 0
     186        li      r9, 11
    184187        bl      qoriq_tlb1_write
    185188
  • c/src/lib/libbsp/powerpc/qoriq/startup/bspsmp.c

    r71b611d r0e05095a  
    11/*
    2  * Copyright (c) 2013 embedded brains GmbH.  All rights reserved.
     2 * Copyright (c) 2013-2014 embedded brains GmbH.  All rights reserved.
    33 *
    44 *  embedded brains GmbH
    5  *  Obere Lagerstr. 30
     5 *  Dornierstr. 4
    66 *  82178 Puchheim
    77 *  Germany
     
    9494
    9595  qoriq_mmu_context_init(&mmu_context);
    96   qoriq_mmu_add(&mmu_context, BOOT_BEGIN, BOOT_LAST, 0, 0, FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW);
     96  qoriq_mmu_add(
     97    &mmu_context,
     98    BOOT_BEGIN,
     99    BOOT_LAST,
     100    0,
     101    0,
     102    FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW,
     103    0
     104  );
    97105  qoriq_mmu_partition(&mmu_context, TLB_COUNT);
    98106  qoriq_mmu_write_to_tlb1(&mmu_context, TLB_BEGIN);
  • c/src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c

    r71b611d r0e05095a  
    3434        uint32_t mas2;
    3535        uint32_t mas3;
     36        uint32_t mas7;
    3637} entry;
    3738
     
    6768        .size = (uint32_t) s, \
    6869        .mas2 = FSL_EIS_MAS2_I | FSL_EIS_MAS2_G, \
    69         .mas3 = FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW \
     70        .mas3 = FSL_EIS_MAS3_SR | FSL_EIS_MAS3_SW, \
     71        .mas7 = QORIQ_MMU_DEVICE_MAS7 \
    7072}
    7173
     
    119121                                0,
    120122                                cur->mas2,
    121                                 cur->mas3
     123                                cur->mas3,
     124                                cur->mas7
    122125                        );
    123126                }
  • c/src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S

    r71b611d r0e05095a  
    3131qoriq_tlb1_write:
    3232        rlwinm  r3, r3, 16, 12, 15
    33         rlwinm  r7, r7, 0, 0, 19
     33        rlwinm  r8, r8, 0, 0, 19
    3434        oris    r3, r3, 0x1000
    3535        mtspr   FSL_EIS_MAS0, r3
    3636        oris    r4, r4, 0xc000
    37         rlwinm  r8, r8, 8, 20, 23
    38         or      r8, r4, r8
    39         mtspr   FSL_EIS_MAS1, r8
    40         or      r5, r7, r5
     37        rlwinm  r9, r9, 8, 20, 23
     38        or      r9, r4, r9
     39        mtspr   FSL_EIS_MAS1, r9
     40        or      r5, r8, r5
    4141        mtspr   FSL_EIS_MAS2, r5
    42         or      r6, r7, r6
     42        or      r6, r8, r6
    4343        mtspr   FSL_EIS_MAS3, r6
    44         li      r0, 0
    45         mtspr   FSL_EIS_MAS7, r0
     44        mtspr   FSL_EIS_MAS7, r7
    4645        tlbwe
    4746        sync
  • c/src/lib/libbsp/powerpc/qoriq/startup/mmu.c

    r71b611d r0e05095a  
    166166        uint32_t mas1,
    167167        uint32_t mas2,
    168         uint32_t mas3
     168        uint32_t mas3,
     169        uint32_t mas7
    169170)
    170171{
     
    182183                                .mas1 = mas1,
    183184                                .mas2 = mas2,
    184                                 .mas3 = mas3
     185                                .mas3 = mas3,
     186                                .mas7 = mas7
    185187                        };
    186188                        append(self, &new_entry);
     
    270272                int tlb = first_tlb + i;
    271273
    272                 qoriq_tlb1_write(tlb, cur->mas1, cur->mas2, cur->mas3, ea, tsize);
     274                qoriq_tlb1_write(
     275                        tlb,
     276                        cur->mas1,
     277                        cur->mas2,
     278                        cur->mas3,
     279                        cur->mas7,
     280                        ea,
     281                        tsize
     282                );
    273283        }
    274284}
Note: See TracChangeset for help on using the changeset viewer.