Changeset b11669a in rtems


Ignore:
Timestamp:
Jul 17, 2016, 4:50:18 PM (4 years ago)
Author:
Pavel Pisa <pisa@…>
Branches:
4.11
Children:
b5501ba
Parents:
404f659
git-author:
Pavel Pisa <pisa@…> (07/17/16 16:50:18)
git-committer:
Pavel Pisa <pisa@…> (10/02/16 08:40:35)
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.

Updates #2783

File:
1 edited

Legend:

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

    r404f659 rb11669a  
    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.