mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 18:35:42 +01:00 
			
		
		
		
	arc: significant cache rework
[1] Align cache management functions to those in Linux kernel. I.e.:
    a) Use the same functions for all cache ops (D$ Inv/Flush)
    b) Split cache ops in 3 sub-functions: "before", "lineloop" and
"after". That way we may re-use "before" and "after" functions for
region and full cache ops.
 [2] Implement full-functional L2 (SLC) management. Before SLC was
simply disabled early on boot. It's also possible to enable or disable
L2 cache from config utility.
 [3] Disable/enable corresponding caches early on boot. So if U-Boot is
configured to use caches they will be used at all times (this is useful
in partucular for speed-up of relocation).
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
			
			
This commit is contained in:
		
				
					committed by
					
						 Alexey Brodkin
						Alexey Brodkin
					
				
			
			
				
	
			
			
			
						parent
						
							8b2eb776b1
						
					
				
				
					commit
					ef639e6f70
				
			| @@ -10,16 +10,8 @@ DECLARE_GLOBAL_DATA_PTR; | ||||
|  | ||||
| int init_cache_f_r(void) | ||||
| { | ||||
| #ifndef CONFIG_SYS_ICACHE_OFF | ||||
| 	icache_enable(); | ||||
| 	/* Make sure no stale entries persist from before we disabled cache */ | ||||
| 	invalidate_icache_all(); | ||||
| #endif | ||||
|  | ||||
| #ifndef CONFIG_SYS_DCACHE_OFF | ||||
| 	dcache_enable(); | ||||
| 	/* Make sure no stale entries persist from before we disabled cache */ | ||||
| 	invalidate_dcache_all(); | ||||
| 	flush_dcache_all(); | ||||
| #endif | ||||
| 	return 0; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user