]> git.ipfire.org Git - thirdparty/u-boot.git/blame - arch/powerpc/lib/stack.c
Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""
[thirdparty/u-boot.git] / arch / powerpc / lib / stack.c
CommitLineData
83d290c5 1// SPDX-License-Identifier: GPL-2.0+
68145d4c 2/*
09c2b8f3 3 * Copyright (c) 2015 Andreas Bießmann <andreas@biessmann.org>
68145d4c
AB
4 *
5 * Copyright (c) 2011 The Chromium OS Authors.
6 * (C) Copyright 2002-2006
7 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
8 *
9 * (C) Copyright 2002
10 * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
11 * Marius Groeger <mgroeger@sysgo.de>
68145d4c 12 */
d678a59d 13#include <common.h>
691d719d 14#include <init.h>
401d1c4f 15#include <asm/global_data.h>
d63fc994 16#include <asm/mp.h>
68145d4c
AB
17
18DECLARE_GLOBAL_DATA_PTR;
19
20int arch_reserve_stacks(void)
21{
22 ulong *s;
23
24 /* setup stack pointer for exceptions */
25 gd->irq_sp = gd->start_addr_sp;
26
27 /* Clear initial stack frame */
28 s = (ulong *)gd->start_addr_sp;
29 *s = 0; /* Terminate back chain */
30 *++s = 0; /* NULL return address */
31
32 return 0;
33}
d63fc994
OP
34
35int arch_setup_dest_addr(void)
36{
37#if defined(CONFIG_MP) && (defined(CONFIG_MPC86xx) || defined(CONFIG_E500))
38 /*
39 * We need to make sure the location we intend to put secondary core
40 * boot code is reserved and not used by any part of u-boot
41 */
42 if (gd->relocaddr > determine_mp_bootpg(NULL)) {
43 gd->relocaddr = determine_mp_bootpg(NULL);
44 debug("Reserving MP boot page to %08lx\n", gd->relocaddr);
45 }
46#endif
47
48 return 0;
49}