168145d4cSAndreas Bießmann /* 2*09c2b8f3SAndreas Bießmann * Copyright (c) 2015 Andreas Bießmann <andreas@biessmann.org> 368145d4cSAndreas Bießmann * 468145d4cSAndreas Bießmann * Copyright (c) 2011 The Chromium OS Authors. 568145d4cSAndreas Bießmann * (C) Copyright 2002-2006 668145d4cSAndreas Bießmann * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 768145d4cSAndreas Bießmann * 868145d4cSAndreas Bießmann * (C) Copyright 2002 968145d4cSAndreas Bießmann * Sysgo Real-Time Solutions, GmbH <www.elinos.com> 1068145d4cSAndreas Bießmann * Marius Groeger <mgroeger@sysgo.de> 1168145d4cSAndreas Bießmann * 1268145d4cSAndreas Bießmann * SPDX-License-Identifier: GPL-2.0+ 1368145d4cSAndreas Bießmann */ 1468145d4cSAndreas Bießmann #include <common.h> 1568145d4cSAndreas Bießmann 1668145d4cSAndreas Bießmann DECLARE_GLOBAL_DATA_PTR; 1768145d4cSAndreas Bießmann arch_reserve_stacks(void)1868145d4cSAndreas Bießmannint arch_reserve_stacks(void) 1968145d4cSAndreas Bießmann { 2068145d4cSAndreas Bießmann ulong *s; 2168145d4cSAndreas Bießmann 2268145d4cSAndreas Bießmann /* setup stack pointer for exceptions */ 2368145d4cSAndreas Bießmann gd->irq_sp = gd->start_addr_sp; 2468145d4cSAndreas Bießmann 2568145d4cSAndreas Bießmann /* Clear initial stack frame */ 2668145d4cSAndreas Bießmann s = (ulong *)gd->start_addr_sp; 2768145d4cSAndreas Bießmann *s = 0; /* Terminate back chain */ 2868145d4cSAndreas Bießmann *++s = 0; /* NULL return address */ 2968145d4cSAndreas Bießmann 3068145d4cSAndreas Bießmann return 0; 3168145d4cSAndreas Bießmann } 32