You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2023/04/27 12:22:03 UTC

[nuttx] branch master updated: Revert "arch/armv7ar: use robust code sequences for cache maintenance"

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 4a4386c822 Revert "arch/armv7ar: use robust code sequences for cache maintenance"
4a4386c822 is described below

commit 4a4386c8229ecc07ec83edb8e2fbb9d2004e6448
Author: zhangyuan21 <zh...@xiaomi.com>
AuthorDate: Thu Apr 27 18:12:21 2023 +0800

    Revert "arch/armv7ar: use robust code sequences for cache maintenance"
    
    This reverts commit 69fd539886eb529695557a4b46baccebfa86b82f.
    
    Signed-off-by: zhangyuan21 <zh...@xiaomi.com>
---
 arch/arm/src/armv7-a/arm_cache.c | 12 +++++-------
 arch/arm/src/armv7-r/arm_cache.c | 12 +++++-------
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/arch/arm/src/armv7-a/arm_cache.c b/arch/arm/src/armv7-a/arm_cache.c
index 83cc2180bd..95eb5ebae3 100644
--- a/arch/arm/src/armv7-a/arm_cache.c
+++ b/arch/arm/src/armv7-a/arm_cache.c
@@ -216,8 +216,8 @@ size_t up_get_dcache_linesize(void)
 
 void up_invalidate_dcache(uintptr_t start, uintptr_t end)
 {
-  l2cc_invalidate(start, end);
   cp15_invalidate_dcache(start, end);
+  l2cc_invalidate(start, end);
 }
 
 /****************************************************************************
@@ -241,8 +241,8 @@ void up_invalidate_dcache_all(void)
 {
 #ifdef CONFIG_ARCH_L2CACHE
   irqstate_t flags = enter_critical_section();
-  l2cc_invalidate_all();
   cp15_invalidate_dcache_all();
+  l2cc_invalidate_all();
   leave_critical_section(flags);
 #else
   cp15_invalidate_dcache_all();
@@ -338,15 +338,14 @@ void up_flush_dcache(uintptr_t start, uintptr_t end)
 {
   if ((end - start) < cp15_cache_size())
     {
-      cp15_clean_dcache(start, end);
+      cp15_flush_dcache(start, end);
     }
   else
     {
-      cp15_clean_dcache_all();
+      cp15_flush_dcache_all();
     }
 
   l2cc_flush(start, end);
-  cp15_invalidate_dcache(start, end);
 }
 
 /****************************************************************************
@@ -373,9 +372,8 @@ void up_flush_dcache(uintptr_t start, uintptr_t end)
 
 void up_flush_dcache_all(void)
 {
-  cp15_clean_dcache_all();
+  cp15_flush_dcache_all();
   l2cc_flush_all();
-  cp15_invalidate_dcache_all();
 }
 
 /****************************************************************************
diff --git a/arch/arm/src/armv7-r/arm_cache.c b/arch/arm/src/armv7-r/arm_cache.c
index 42b048102b..0163f176cb 100644
--- a/arch/arm/src/armv7-r/arm_cache.c
+++ b/arch/arm/src/armv7-r/arm_cache.c
@@ -216,8 +216,8 @@ size_t up_get_dcache_linesize(void)
 
 void up_invalidate_dcache(uintptr_t start, uintptr_t end)
 {
-  l2cc_invalidate(start, end);
   cp15_invalidate_dcache(start, end);
+  l2cc_invalidate(start, end);
 }
 
 /****************************************************************************
@@ -241,8 +241,8 @@ void up_invalidate_dcache_all(void)
 {
 #ifdef CONFIG_ARCH_L2CACHE
   irqstate_t flags = enter_critical_section();
-  l2cc_invalidate_all();
   cp15_invalidate_dcache_all();
+  l2cc_invalidate_all();
   leave_critical_section(flags);
 #else
   cp15_invalidate_dcache_all();
@@ -338,15 +338,14 @@ void up_flush_dcache(uintptr_t start, uintptr_t end)
 {
   if ((end - start) < cp15_cache_size())
     {
-      cp15_clean_dcache(start, end);
+      cp15_flush_dcache(start, end);
     }
   else
     {
-      cp15_clean_dcache_all();
+      cp15_flush_dcache_all();
     }
 
   l2cc_flush(start, end);
-  cp15_invalidate_dcache(start, end);
 }
 
 /****************************************************************************
@@ -373,9 +372,8 @@ void up_flush_dcache(uintptr_t start, uintptr_t end)
 
 void up_flush_dcache_all(void)
 {
-  cp15_clean_dcache_all();
+  cp15_flush_dcache_all();
   l2cc_flush_all();
-  cp15_invalidate_dcache_all();
 }
 
 /****************************************************************************