mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 23:51:33 +00:00
microblaze: Flush caches before enabling them
Flushing caches is necessary because of soft reset which doesn't clear caches. Signed-off-by: Michal Simek <monstr@monstr.eu> Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
ea0122816c
commit
5811830fae
4 changed files with 10 additions and 10 deletions
|
@ -61,12 +61,7 @@ void dcache_enable (void) {
|
|||
|
||||
void dcache_disable(void) {
|
||||
#ifdef XILINX_USE_DCACHE
|
||||
#ifdef XILINX_DCACHE_BYTE_SIZE
|
||||
flush_cache(0, XILINX_DCACHE_BYTE_SIZE);
|
||||
#else
|
||||
#warning please rebuild BSPs and update configuration
|
||||
flush_cache(0, 32768);
|
||||
#endif
|
||||
#endif
|
||||
MSRCLR(0x80);
|
||||
}
|
||||
|
|
|
@ -132,6 +132,12 @@ _start:
|
|||
rsubi r8, r10, 0x26
|
||||
sh r6, r0, r8
|
||||
|
||||
/* Flush cache before enable cache */
|
||||
addik r5, r0, 0
|
||||
addik r6, r0, XILINX_DCACHE_BYTE_SIZE
|
||||
flush: bralid r15, flush_cache
|
||||
nop
|
||||
|
||||
/* enable instruction and data cache */
|
||||
mfs r12, rmsr
|
||||
ori r12, r12, 0xa0
|
||||
|
|
|
@ -70,12 +70,7 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima
|
|||
#endif
|
||||
|
||||
#ifdef XILINX_USE_DCACHE
|
||||
#ifdef XILINX_DCACHE_BYTE_SIZE
|
||||
flush_cache(0, XILINX_DCACHE_BYTE_SIZE);
|
||||
#else
|
||||
#warning please rebuild BSPs and update configuration
|
||||
flush_cache(0, 32768);
|
||||
#endif
|
||||
#endif
|
||||
/*
|
||||
* Linux Kernel Parameters (passing device tree):
|
||||
|
|
|
@ -287,6 +287,10 @@
|
|||
# undef CONFIG_DCACHE
|
||||
#endif
|
||||
|
||||
#ifndef XILINX_DCACHE_BYTE_SIZE
|
||||
#define XILINX_DCACHE_BYTE_SIZE 32768
|
||||
#endif
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue