[PATCH 3/8] tegra: start maincomplex execution at correct offset
Lucas Stach
dev at lynxeye.de
Sun Sep 29 15:59:31 EDT 2013
Signed-off-by: Lucas Stach <dev at lynxeye.de>
---
arch/arm/mach-tegra/tegra_avp_init.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mach-tegra/tegra_avp_init.c b/arch/arm/mach-tegra/tegra_avp_init.c
index 5099e91..ba275ad 100644
--- a/arch/arm/mach-tegra/tegra_avp_init.c
+++ b/arch/arm/mach-tegra/tegra_avp_init.c
@@ -19,6 +19,7 @@
#include <common.h>
#include <asm/barebox-arm-head.h>
+#include <asm/barebox-arm.h>
#include <mach/lowlevel.h>
#include <mach/tegra20-car.h>
#include <mach/tegra20-pmc.h>
@@ -194,13 +195,6 @@ void barebox_arm_reset_vector(void)
/* minimal initialization, OK for both ARMv4 and ARMv7 */
tegra_cpu_lowlevel_setup();
- /*
- * If we are already running on the main CPU complex jump straight
- * to the maincomplex entry point.
- */
- if (tegra_cpu_is_maincomplex())
- tegra_maincomplex_entry();
-
/* get the number of cores in the main CPU complex of the current SoC */
num_cores = tegra_get_num_cores();
if (!num_cores)
@@ -212,7 +206,8 @@ void barebox_arm_reset_vector(void)
stop_maincomplex_clocks(num_cores);
/* set start address for the main CPU complex processors */
- writel(barebox_arm_head, TEGRA_EXCEPTION_VECTORS_BASE + 0x100);
+ writel(tegra_maincomplex_entry - get_runtime_offset(),
+ TEGRA_EXCEPTION_VECTORS_BASE + 0x100);
/* bring up main CPU complex */
start_cpu0_clocks();
--
1.8.3.1
More information about the barebox
mailing list