Changeset dcf806e in rtems


Ignore:
Timestamp:
Jul 17, 2016, 4:50:18 PM (4 years ago)
Author:
Pavel Pisa <pisa@…>
Branches:
master
Children:
8709aa04
Parents:
bef2b73
git-author:
Pavel Pisa <pisa@…> (07/17/16 16:50:18)
git-committer:
Pavel Pisa <pisa@…> (07/20/16 14:46:04)
Message:

arm/raspberrypi: reorder and update MMU config table to nor force RW section later to RO.

Enable even the first megabyte of SDRAM to be cache-able after
problems with stale cache content has been resolved by previous commit.
Because major part of application usually fits to the first
megabyte this speedups test dhrystone application by factor 40.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c

    rbef2b73 rdcf806e  
    2424#include <bsp/arm-cp15-start.h>
    2525
     26/*
     27 * Pagetable initialization data
     28 *
     29 * Keep all read-only sections before read-write ones.
     30 * This ensures that write is allowed if one page/region
     31 * is partially filled by read-only section contentent
     32 * and rest is used for writeable section
     33 */
     34
    2635const arm_cp15_start_section_config arm_cp15_start_mmu_config_table[] = {
    2736  {
     
    3039    .flags = ARMV7_MMU_CODE_CACHED
    3140  }, {
     41    .begin = (uint32_t) bsp_section_start_begin,
     42    .end = (uint32_t) bsp_section_start_end,
     43    .flags = ARMV7_MMU_CODE_CACHED
     44  }, {
     45    .begin = (uint32_t) bsp_section_text_begin,
     46    .end = (uint32_t) bsp_section_text_end,
     47    .flags = ARMV7_MMU_CODE_CACHED
     48  }, {
     49    .begin = (uint32_t) bsp_section_rodata_begin,
     50    .end = (uint32_t) bsp_section_rodata_end,
     51    .flags = ARMV7_MMU_DATA_READ_ONLY_CACHED
     52  }, {
     53    .begin = (uint32_t) bsp_translation_table_base,
     54    .end = (uint32_t) bsp_translation_table_base + 0x4000,
     55    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
     56  }, {
    3257    .begin = (uint32_t) bsp_section_fast_data_begin,
    3358    .end = (uint32_t) bsp_section_fast_data_end,
    3459    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
    3560  }, {
    36     .begin = (uint32_t) bsp_section_start_begin,
    37     .end = (uint32_t) bsp_section_start_end,
    38     .flags = ARMV7_MMU_CODE_CACHED
    39   }, {
    4061    .begin = (uint32_t) bsp_section_vector_begin,
    4162    .end = (uint32_t) bsp_section_vector_end,
    4263    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
    43   }, {
    44     .begin = (uint32_t) bsp_section_text_begin,
    45     .end = (uint32_t) bsp_section_text_end,
    46     .flags = ARMV7_MMU_READ_WRITE
    47   }, {
    48     .begin = (uint32_t) bsp_section_rodata_begin,
    49     .end = (uint32_t) bsp_section_rodata_end,
    50     .flags = ARMV7_MMU_DATA_READ_ONLY_CACHED
    5164  }, {
    5265    .begin = (uint32_t) bsp_section_data_begin,
Note: See TracChangeset for help on using the changeset viewer.