]> git.sur5r.net Git - u-boot/blobdiff - lib_i386/board.c
i386: Move references to link script exports
[u-boot] / lib_i386 / board.c
index e18dfa5bc4483dbf4092d7806b4a75ed5b992400..44fa0e31a486b95d74b9f03b4e8d71823a519792 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engstrm, Omicron Ceti AB, daniel@omicron.se
  *
  * (C) Copyright 2002
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
@@ -31,7 +31,7 @@
 #include <common.h>
 #include <watchdog.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <timestamp.h>
 #include <version.h>
 #include <malloc.h>
 #include <ide.h>
 #include <asm/u-boot-i386.h>
 
+#ifdef CONFIG_BITBANGMII
+#include <miiphy.h>
+#endif
+
 DECLARE_GLOBAL_DATA_PTR;
 
 extern long _i386boot_start;
@@ -49,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 */
@@ -64,51 +63,23 @@ 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 ")";
 
-
-/*
- * Begin and End of memory area for malloc(), and current "brk"
- */
-static ulong mem_malloc_start = 0;
-static ulong mem_malloc_end = 0;
-static ulong mem_malloc_brk = 0;
-
-static int mem_malloc_init(void)
+static int heap_init(void)
 {
        /* start malloc area right after the stack */
-       mem_malloc_start = i386boot_bss_start +
-               i386boot_bss_size + CONFIG_SYS_STACK_SIZE;
-       mem_malloc_start = (mem_malloc_start+3)&~3;
+       ulong start = i386boot_bss_start + i386boot_bss_size +
+                       CONFIG_SYS_STACK_SIZE;
 
-       /* Use all available RAM for malloc() */
-       mem_malloc_end = gd->ram_size;
+       /* 4-byte aligned */
+       start = (start+3)&~3;
 
-       mem_malloc_brk = mem_malloc_start;
+       mem_malloc_init(start, CONFIG_SYS_MALLOC_LEN);
 
        return 0;
 }
 
-void *sbrk (ptrdiff_t increment)
-{
-       ulong old = mem_malloc_brk;
-       ulong new = old + increment;
-
-       if ((new < mem_malloc_start) || (new > mem_malloc_end)) {
-               return (NULL);
-       }
-       mem_malloc_brk = new;
-
-       return ((void *) old);
-}
-
 /************************************************************************
  * Init Utilities                                                      *
  ************************************************************************
@@ -201,7 +172,7 @@ init_fnc_t *init_sequence[] = {
        cpu_init,               /* basic cpu dependent setup */
        board_init,             /* basic board dependent setup */
        dram_init,              /* configure available RAM banks */
-       mem_malloc_init,        /* dependant on dram_init */
+       heap_init,              /* dependant on dram_init */
        interrupt_init,         /* set up exceptions */
        timer_init,
        serial_init,
@@ -299,7 +270,7 @@ void start_i386boot (void)
        show_boot_progress(0x27);
 
 
-       devices_init ();
+       stdio_init ();
 
        jumptable_init ();
 
@@ -372,6 +343,9 @@ void start_i386boot (void)
        doc_init();
 #endif
 
+#ifdef CONFIG_BITBANGMII
+       bb_miiphy_init();
+#endif
 #if defined(CONFIG_CMD_NET)
 #if defined(CONFIG_NET_MULTI)
        WATCHDOG_RESET();