x86: Split init functions out of board.c

This patch moves towards reducing board.c to simply a set of init cores for
the three initialisation phases (Flash, Flash/RAM, and RAM), a set of three
init function arrays and a init function array processing function
diff --git a/arch/x86/lib/init_wrappers.c b/arch/x86/lib/init_wrappers.c
new file mode 100644
index 0000000..71449fe
--- /dev/null
+++ b/arch/x86/lib/init_wrappers.c
@@ -0,0 +1,137 @@
+/*
+ * (C) Copyright 2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#include <common.h>
+#include <serial.h>
+#include <kgdb.h>
+#include <scsi.h>
+#include <post.h>
+#include <miiphy.h>
+
+#include <asm/init_wrappers.h>
+
+int serial_initialize_r(void)
+{
+	serial_initialize();
+
+	return 0;
+}
+
+int env_relocate_r(void)
+{
+	/* initialize environment */
+	env_relocate();
+
+	return 0;
+}
+
+
+int pci_init_r(void)
+{
+	/* Do pci configuration */
+	pci_init();
+
+	return 0;
+}
+
+int jumptable_init_r(void)
+{
+	jumptable_init();
+
+	return 0;
+}
+
+int pcmcia_init_r(void)
+{
+	puts("PCMCIA:");
+	pcmcia_init();
+
+	return 0;
+}
+
+int kgdb_init_r(void)
+{
+	puts("KGDB:  ");
+	kgdb_init();
+
+	return 0;
+}
+
+int enable_interrupts_r(void)
+{
+	/* enable exceptions */
+	enable_interrupts();
+
+	return 0;
+}
+
+int eth_initialize_r(void)
+{
+	puts("Net:   ");
+	eth_initialize(gd->bd);
+
+	return 0;
+}
+
+int reset_phy_r(void)
+{
+#ifdef DEBUG
+	puts("Reset Ethernet PHY\n");
+#endif
+	reset_phy();
+
+	return 0;
+}
+
+int ide_init_r(void)
+{
+	puts("IDE:   ");
+	ide_init();
+
+	return 0;
+}
+
+int scsi_init_r(void)
+{
+	puts("SCSI:  ");
+	scsi_init();
+
+	return 0;
+}
+
+#ifdef CONFIG_BITBANGMII
+int bb_miiphy_init_r(void)
+{
+	bb_miiphy_init();
+
+	return 0;
+}
+#endif
+
+#ifdef CONFIG_POST
+int post_run_r(void)
+{
+	post_run(NULL, POST_RAM | post_bootmode_get(0));
+
+	return 0;
+}
+#endif