[U-Boot] [PATCH v2 09/10] Move references to link script exports

Graeme Russ graeme.russ at gmail.com
Tue Nov 24 10:04:20 CET 2009


Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
---
 include/asm-i386/u-boot-i386.h |    6 ------
 lib_i386/bios_setup.c          |    6 ++++++
 lib_i386/board.c               |   11 -----------
 lib_i386/realmode.c            |    5 +++++
 4 files changed, 11 insertions(+), 17 deletions(-)

diff --git a/include/asm-i386/u-boot-i386.h b/include/asm-i386/u-boot-i386.h
index dfec307..1e8def7 100644
--- a/include/asm-i386/u-boot-i386.h
+++ b/include/asm-i386/u-boot-i386.h
@@ -35,12 +35,6 @@ extern ulong i386boot_bss_size;     /* bss size */
 extern ulong i386boot_stack_end;    /* first usable RAM address after bss and stack */
 extern ulong i386boot_ram_end;      /* end of ram */
 
-extern ulong i386boot_realmode;     /* start of realmode entry code */
-extern ulong i386boot_realmode_size;/* size of realmode entry code */
-extern ulong i386boot_bios;         /* start of BIOS emulation code */
-extern ulong i386boot_bios_size;    /* size of BIOS emulation code */
-
-
 /* cpu/.../cpu.c */
 int cpu_init(void);
 
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 @@ 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 ebd7047..44fa0e3 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 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",
-- 
1.6.4.1.174.g32f4c



More information about the U-Boot mailing list