Changeset 5ceefe1 in rtems
- Timestamp:
- Sep 28, 2013, 8:08:25 AM (7 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 382f714
- Parents:
- 0a9533fc
- git-author:
- Hesham AL-Matary <heshamelmatary@…> (09/28/13 08:08:25)
- git-committer:
- Gedare Bloom <gedare@…> (10/03/13 12:55:33)
- Location:
- c/src/lib/libbsp
- Files:
-
- 3 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/arm/raspberrypi/Makefile.am
r0a9533fc r5ceefe1 28 28 29 29 include_bsp_HEADERS = 30 include_bsp_HEADERS += ../../../libbsp/shared/include/mm.h 30 31 include_bsp_HEADERS += ../../shared/include/utility.h 31 32 include_bsp_HEADERS += ../../shared/include/irq-generic.h … … 36 37 include_bsp_HEADERS += ../shared/include/linker-symbols.h 37 38 include_bsp_HEADERS += ../shared/include/start.h 39 include_bsp_HEADERS += ../shared/include/arm-cp15-start.h 38 40 include_bsp_HEADERS += ../shared/lpc/include/lpc-timer.h 39 41 include_bsp_HEADERS += ../shared/lpc/include/lpc-dma.h … … 84 86 libbsp_a_SOURCES += ../shared/abort/simple_abort.c 85 87 libbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S 86 88 libbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c 87 89 88 90 # Startup … … 92 94 # IRQ 93 95 libbsp_a_SOURCES += ../../shared/src/irq-default-handler.c 96 libbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c 94 97 libbsp_a_SOURCES += ../../shared/src/irq-generic.c 95 98 libbsp_a_SOURCES += ../../shared/src/irq-info.c … … 128 131 libbsp_a_SOURCES += startup/bspstarthooks.c 129 132 133 # LIBMM 134 libbsp_a_SOURCES += startup/mm_config_table.c 135 libbsp_a_SOURCES += ../shared/mminit.c 136 130 137 ############################################################################### 131 138 # Network # -
c/src/lib/libbsp/arm/raspberrypi/preinstall.am
r0a9533fc r5ceefe1 63 63 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h 64 64 65 $(PROJECT_INCLUDE)/bsp/mm.h: ../../../libbsp/shared/include/mm.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 66 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/mm.h 67 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/mm.h 68 65 69 $(PROJECT_INCLUDE)/bsp/utility.h: ../../shared/include/utility.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 66 70 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/utility.h … … 94 98 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/start.h 95 99 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/start.h 100 101 $(PROJECT_INCLUDE)/bsp/arm-cp15-start.h: ../shared/include/arm-cp15-start.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) 102 $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/arm-cp15-start.h 103 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/arm-cp15-start.h 96 104 97 105 $(PROJECT_INCLUDE)/bsp/lpc-timer.h: ../shared/lpc/include/lpc-timer.h $(PROJECT_INCLUDE)/bsp/$(dirstamp) -
c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c
r0a9533fc r5ceefe1 8 8 9 9 /* 10 * Copyright (c) 2013. Hesham AL-Matary 10 11 * Copyright (c) 2013 by Alan Cudmore 11 12 * based on work by: … … 25 26 #include <bsp/start.h> 26 27 #include <bsp/raspberrypi.h> 27 #include <bsp/mmu.h> 28 29 static void BSP_START_TEXT_SECTION raspberrypi_cache_setup(void) 30 { 31 uint32_t ctrl = 0; 32 33 /* Disable MMU and cache, basic settings */ 34 ctrl = arm_cp15_get_control(); 35 ctrl &= ~(ARM_CP15_CTRL_I | ARM_CP15_CTRL_R | ARM_CP15_CTRL_C 36 | ARM_CP15_CTRL_V | ARM_CP15_CTRL_M); 37 ctrl |= ARM_CP15_CTRL_S; 38 arm_cp15_set_control(ctrl); 39 40 arm_cp15_cache_invalidate(); 41 arm_cp15_tlb_invalidate(); 42 43 } 44 28 #include <bsp/mm.h> 45 29 46 30 void BSP_START_TEXT_SECTION bsp_start_hook_0(void) 47 31 { 48 raspberrypi_cache_setup();49 32 } 50 33 … … 53 36 { 54 37 bsp_start_copy_sections(); 38 bsp_memory_management_initialize(); 55 39 bsp_start_clear_bss(); 56 40 } -
c/src/lib/libbsp/arm/raspberrypi/startup/linkcmds
r0a9533fc r5ceefe1 36 36 MEMORY { 37 37 VECTOR_RAM (AIW) : ORIGIN = 0x0 , LENGTH = 0x8000 38 RAM (AIW) : ORIGIN = 0x00008000, LENGTH = 128M - 0x8000 38 RAM (AIW) : ORIGIN = 0x00008000, LENGTH = 128M - 48K 39 RAM_MMU (AIW) : ORIGIN = 128M - 16k, LENGTH = 16k 39 40 } 40 41 … … 59 60 60 61 bsp_section_robarrier_align = DEFINED (bsp_section_robarrier_align) ? bsp_section_robarrier_align : 1M; 62 bsp_translation_table_base = ORIGIN (RAM_MMU); 61 63 62 64 INCLUDE linkcmds.armv4 -
c/src/lib/libbsp/arm/shared/include/arm-cp15-start.h
r0a9533fc r5ceefe1 1 1 /* 2 * Copyright (c) 2013 Hesham AL-Matary. 2 3 * Copyright (c) 2009-2013 embedded brains GmbH. All rights reserved. 3 4 * … … 17 18 18 19 #include <libcpu/arm-cp15.h> 19 20 20 #include <bsp/start.h> 21 21 … … 23 23 extern "C" { 24 24 #endif /* __cplusplus */ 25 26 typedef struct { 27 uint32_t begin; 28 uint32_t end; 29 uint32_t flags; 30 } arm_cp15_start_section_config; 31 32 extern const arm_cp15_start_section_config bsp_mm_config_table[]; 33 extern const size_t bsp_mm_config_table_size; 25 34 26 35 BSP_START_TEXT_SECTION static inline void … … 47 56 BSP_START_TEXT_SECTION static inline uint32_t 48 57 arm_cortex_a9_get_multiprocessor_cpu_id(void); 49 50 typedef struct {51 uint32_t begin;52 uint32_t end;53 uint32_t flags;54 } arm_cp15_start_section_config;55 58 56 59 BSP_START_TEXT_SECTION static inline void … … 88 91 arm_cp15_set_translation_table_base(ttb); 89 92 90 /* Initialize translation table with invalidentries */93 /* Initialize translation table with fixed-map read-write entries */ 91 94 for (i = 0; i < ARM_MMU_TRANSLATION_TABLE_ENTRY_COUNT; ++i) { 92 ttb [i] = 0;95 ttb [i] = (i << ARM_MMU_SECT_BASE_SHIFT) | ARMV7_MMU_DATA_READ_WRITE; 93 96 } 94 97 … … 98 101 99 102 /* Enable MMU and cache */ 100 ctrl |= ARM_CP15_CTRL_I | ARM_CP15_CTRL_C | ARM_CP15_CTRL_M; 103 ctrl |= ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_S | ARM_CP15_CTRL_I | 104 ARM_CP15_CTRL_C | ARM_CP15_CTRL_M | ARM_CP15_CTRL_XP; 105 101 106 arm_cp15_set_control(ctrl); 102 107 }
Note: See TracChangeset
for help on using the changeset viewer.