summaryrefslogtreecommitdiff
path: root/lib_i386
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2009-11-24 20:04:20 +1100
committerWolfgang Denk <wd@denx.de>2009-12-05 01:05:07 +0100
commitcabe5794803fbe18bedac2d9c7f2417a0fa95ec1 (patch)
treee55d2181fbb2a2081c6a3fc6ac4f2815c97d9171 /lib_i386
parent0fc1b49ecbd7ec7371f9ede0600e4fd28cec7f33 (diff)
i386: Move references to link script exports
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
Diffstat (limited to 'lib_i386')
-rw-r--r--lib_i386/bios_setup.c6
-rw-r--r--lib_i386/board.c11
-rw-r--r--lib_i386/realmode.c5
3 files changed, 11 insertions, 11 deletions
diff --git a/lib_i386/bios_setup.c b/lib_i386/bios_setup.c
index 33c842c6a0a..6491e522ec4 100644
--- a/lib_i386/bios_setup.c
+++ b/lib_i386/bios_setup.c
@@ -45,6 +45,9 @@ DECLARE_GLOBAL_DATA_PTR;
#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 @@ static void setvector(int vector, u16 segment, void *handler)
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 ebd70476c8b..44fa0e31a48 100644
--- a/lib_i386/board.c
+++ b/lib_i386/board.c
@@ -53,11 +53,6 @@ extern long _i386boot_romdata_size;
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_romdata_size = (ulong)&_i386boot_romdata_size; /* size of data
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 6cf273885b8..3c3c1fc961f 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",