mirror of
https://xff.cz/git/u-boot/
synced 2025-10-03 08:21:30 +02:00
arm1136/arm1176: Merge cache handling code
As both cores are similar merge the cache handling code for both CPUs to arm11 directory. Signed-off-by: Alexander Stein <alexanders83@web.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Tested-by: Stephen Warren <swarren@wwwdotorg.org> [trini: Add hunk to arch/arm/cpu/arm1136/Makefile] Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
committed by
Tom Rini
parent
b16a52b9b5
commit
2085ae74de
8
arch/arm/cpu/arm11/Makefile
Normal file
8
arch/arm/cpu/arm11/Makefile
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#
|
||||||
|
# (C) Copyright 2000-2006
|
||||||
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
#
|
||||||
|
|
||||||
|
obj-y = cpu.o
|
@@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
extra-y = start.o
|
extra-y = start.o
|
||||||
obj-y = cpu.o
|
|
||||||
|
|
||||||
|
obj-y += ../arm11/
|
||||||
obj-$(CONFIG_MX31) += mx31/
|
obj-$(CONFIG_MX31) += mx31/
|
||||||
obj-$(CONFIG_MX35) += mx35/
|
obj-$(CONFIG_MX35) += mx35/
|
||||||
|
@@ -8,5 +8,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0+
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
#
|
#
|
||||||
|
|
||||||
|
obj- += dummy.o
|
||||||
extra-y = start.o
|
extra-y = start.o
|
||||||
obj-y = cpu.o
|
|
||||||
|
obj-y += ../arm11/
|
||||||
|
@@ -1,51 +0,0 @@
|
|||||||
/*
|
|
||||||
* (C) Copyright 2004 Texas Insturments
|
|
||||||
*
|
|
||||||
* (C) Copyright 2002
|
|
||||||
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
|
|
||||||
* Marius Groeger <mgroeger@sysgo.de>
|
|
||||||
*
|
|
||||||
* (C) Copyright 2002
|
|
||||||
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: GPL-2.0+
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CPU specific code
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <common.h>
|
|
||||||
#include <command.h>
|
|
||||||
#include <asm/system.h>
|
|
||||||
|
|
||||||
static void cache_flush (void);
|
|
||||||
|
|
||||||
int cleanup_before_linux (void)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* this function is called just before we call linux
|
|
||||||
* it prepares the processor for linux
|
|
||||||
*
|
|
||||||
* we turn off caches etc ...
|
|
||||||
*/
|
|
||||||
|
|
||||||
disable_interrupts ();
|
|
||||||
|
|
||||||
/* turn off I/D-cache */
|
|
||||||
icache_disable();
|
|
||||||
dcache_disable();
|
|
||||||
/* flush I/D-cache */
|
|
||||||
cache_flush();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* flush I/D-cache */
|
|
||||||
static void cache_flush (void)
|
|
||||||
{
|
|
||||||
/* invalidate both caches and flush btb */
|
|
||||||
asm ("mcr p15, 0, %0, c7, c7, 0": :"r" (0));
|
|
||||||
/* mem barrier to sync things */
|
|
||||||
asm ("mcr p15, 0, %0, c7, c10, 4": :"r" (0));
|
|
||||||
}
|
|
Reference in New Issue
Block a user