summaryrefslogtreecommitdiff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-11-19 23:17:13 -0500
committerTom Rini <trini@ti.com>2014-11-19 23:17:13 -0500
commitf10834e166467ce153ec985421b9deb8d292410d (patch)
tree00f0ec82bde348f674a90e67793fb343276206cd /arch/powerpc
parent50dcf89d90b3597d86f5d26f131eabc98bbd5209 (diff)
parent5fc3494fdb00dd7894090ce0c21936815a575558 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-mpc5xxx
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/cpu/mpc5xxx/start.S15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/powerpc/cpu/mpc5xxx/start.S b/arch/powerpc/cpu/mpc5xxx/start.S
index 02c706ec63..94eb0d3fff 100644
--- a/arch/powerpc/cpu/mpc5xxx/start.S
+++ b/arch/powerpc/cpu/mpc5xxx/start.S
@@ -76,6 +76,21 @@ _start:
* been done in the SPL u-boot version.
*/
GET_GOT /* initialize GOT access */
+
+ /*
+ * The GD (global data) struct needs to get cleared. Lets do
+ * this by calling memset().
+ * This function is called when the platform is build with SPL
+ * support from the main (full-blown) U-Boot. And the GD needs
+ * to get cleared (again) so that the following generic
+ * board support code, defined via CONFIG_SYS_GENERIC_BOARD,
+ * initializes all variables correctly.
+ */
+ mr r3, r2 /* parameter 1: GD pointer */
+ li r4,0 /* parameter 2: value to fill */
+ li r5,GD_SIZE /* parameter 3: count */
+ bl memset
+
bl board_init_f /* run 1st part of board init code (in Flash)*/
/* NOTREACHED - board_init_f() does not return */
#else