[rtems commit] bsps/arm: Change L2 cache initialization

Sebastian Huber sebh at rtems.org
Fri Jun 6 06:34:43 UTC 2014


Module:    rtems
Branch:    master
Commit:    40599e7e86f29acd422124223e1758fea7beaa63
Changeset: http://git.rtems.org/rtems/commit/?id=40599e7e86f29acd422124223e1758fea7beaa63

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Jun  5 10:01:42 2014 +0200

bsps/arm: Change L2 cache initialization

Do not touch the L1 caches since they have been initialized by the start
hooks.

---

 c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h   |    4 +-
 c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h |   47 --------------------
 2 files changed, 1 insertions(+), 50 deletions(-)

diff --git a/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h b/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h
index 5e5ef6d..577fd2f 100644
--- a/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h
+++ b/c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h
@@ -1361,7 +1361,6 @@ static inline void
 _CPU_cache_enable_data( void )
 {
   cache_l2c_310_enable();
-  arm_cache_l1_enable_data();
 }
 
 static inline void 
@@ -1375,7 +1374,6 @@ static inline void
 _CPU_cache_enable_instruction( void )
 {
   cache_l2c_310_enable();
-  arm_cache_l1_enable_instruction();
 }
 
 static inline void 
@@ -1590,4 +1588,4 @@ _CPU_cache_get_instruction_cache_size( const uint32_t level )
 }
 #endif /* __cplusplus */
 
-#endif /* LIBBSP_ARM_SHARED_L2C_310_CACHE_H */
\ No newline at end of file
+#endif /* LIBBSP_ARM_SHARED_L2C_310_CACHE_H */
diff --git a/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h b/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h
index 10f680d..139c171 100644
--- a/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h
+++ b/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h
@@ -352,28 +352,6 @@ static inline void arm_cache_l1_unfreeze_instruction( void )
   /* To be implemented as needed, if supported by hardware at all */
 }
 
-static inline void arm_cache_l1_enable_data( void )
-{
-  uint32_t ctrl;
-
-  arm_cache_l1_select( ARM_CACHE_L1_CSS_ID_DATA );
-
-  assert( ARM_CACHE_L1_CPU_DATA_ALIGNMENT == arm_cp15_get_data_cache_line_size() );
-
-  ctrl = arm_cp15_get_control();
-
-  /* Only enable the cache if it is disabled */
-  if ( !( ctrl & ARM_CP15_CTRL_C ) ) {
-    /* Clean and invalidate the Data cache */
-    arm_cache_l1_invalidate_entire_data();
-
-    /* Enable the Data cache */
-    ctrl |= ARM_CP15_CTRL_C;
-
-    arm_cp15_set_control( ctrl );
-  }
-}
-
 static inline void arm_cache_l1_disable_data( void )
 {
   /* Clean and invalidate the Data cache */
@@ -395,31 +373,6 @@ static inline void arm_cache_l1_disable_instruction( void )
   arm_cp15_set_control( arm_cp15_get_control() & ~ARM_CP15_CTRL_I );
 }
 
-static inline void arm_cache_l1_enable_instruction( void )
-{
-  uint32_t ctrl;
-
-  arm_cache_l1_select( ARM_CACHE_L1_CSS_ID_INSTRUCTION );
-
-  assert( ARM_CACHE_L1_CPU_INSTRUCTION_ALIGNMENT
-          == arm_cp15_get_data_cache_line_size() );
-
-  /* Enable Instruction cache only if it is disabled */
-  ctrl = arm_cp15_get_control();
-
-  if ( !( ctrl & ARM_CP15_CTRL_I ) ) {
-    /* Invalidate the Instruction cache */
-    arm_cache_l1_invalidate_entire_instruction();
-
-    /* Enable the Instruction cache */
-    ctrl |= ARM_CP15_CTRL_I;
-
-    arm_cp15_set_control( ctrl );
-  }
-
-  arm_cache_l1_select( ARM_CACHE_L1_CSS_ID_DATA );
-}
-
 static inline size_t arm_cache_l1_get_data_cache_size( void )
 {
   size_t   size;




More information about the vc mailing list