i386: Move references to link script exports
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
diff --git a/lib_i386/bios_setup.c b/lib_i386/bios_setup.c
index 33c842c..6491e52 100644
--- a/lib_i386/bios_setup.c
+++ b/lib_i386/bios_setup.c
@@ -45,6 +45,9 @@
#define BIOS_BASE ((char*)0xf0000)
#define BIOS_CS 0xf000
+extern ulong _i386boot_bios;
+extern ulong _i386boot_bios_size;
+
/* these are defined in a 16bit segment and needs
* to be accessed with the RELOC_16_xxxx() macros below
*/
@@ -138,6 +141,9 @@
int bios_setup(void)
{
+ ulong i386boot_bios = (ulong)&_i386boot_bios;
+ ulong i386boot_bios_size = (ulong)&_i386boot_bios_size;
+
static int done=0;
int vector;
#ifdef CONFIG_PCI
diff --git a/lib_i386/board.c b/lib_i386/board.c
index ebd7047..44fa0e3 100644
--- a/lib_i386/board.c
+++ b/lib_i386/board.c
@@ -53,11 +53,6 @@
extern long _i386boot_bss_start;
extern long _i386boot_bss_size;
-extern long _i386boot_realmode;
-extern long _i386boot_realmode_size;
-extern long _i386boot_bios;
-extern long _i386boot_bios_size;
-
/* The symbols defined by the linker script becomes pointers
* which is somewhat inconveient ... */
ulong i386boot_start = (ulong)&_i386boot_start; /* code start (in flash) defined in start.S */
@@ -68,12 +63,6 @@
ulong i386boot_bss_start = (ulong)&_i386boot_bss_start; /* bss start */
ulong i386boot_bss_size = (ulong)&_i386boot_bss_size; /* bss size */
-ulong i386boot_realmode = (ulong)&_i386boot_realmode; /* start of realmode entry code */
-ulong i386boot_realmode_size = (ulong)&_i386boot_realmode_size; /* size of realmode entry code */
-ulong i386boot_bios = (ulong)&_i386boot_bios; /* start of BIOS emulation code */
-ulong i386boot_bios_size = (ulong)&_i386boot_bios_size; /* size of BIOS emulation code */
-
-
const char version_string[] =
U_BOOT_VERSION" (" U_BOOT_DATE " - " U_BOOT_TIME ")";
diff --git a/lib_i386/realmode.c b/lib_i386/realmode.c
index 6cf2738..3c3c1fc 100644
--- a/lib_i386/realmode.c
+++ b/lib_i386/realmode.c
@@ -31,10 +31,15 @@
#define REALMODE_MAILBOX ((char*)0xe00)
+extern ulong _i386boot_realmode;
+extern ulong _i386boot_realmode_size;
extern char realmode_enter;
int realmode_setup(void)
{
+ ulong i386boot_realmode = (ulong)&_i386boot_realmode;
+ ulong i386boot_realmode_size = (ulong)&_i386boot_realmode_size;
+
/* copy the realmode switch code */
if (i386boot_realmode_size > (REALMODE_MAILBOX-REALMODE_BASE)) {
printf("realmode switch too large (%ld bytes, max is %d)\n",