]> git.sur5r.net Git - u-boot/blobdiff - lib_nios/board.c
sh: sh7785lcr: Moved sh7785lcr board to board/renesas
[u-boot] / lib_nios / board.c
index e6cda521ed1743c7aa1b41a4e8c8334da85b7303..024beb51503833a487df0d52e62d8471a829b912 100644 (file)
@@ -32,6 +32,7 @@
 #include <status_led.h>
 #endif
 
+DECLARE_GLOBAL_DATA_PTR;
 
 /*
  * All attempts to come up with a "common" initialization sequence
@@ -62,8 +63,8 @@ static        ulong   mem_malloc_brk   = 0;
  */
 static void mem_malloc_init (void)
 {
-       mem_malloc_start = CFG_MALLOC_BASE;
-       mem_malloc_end = mem_malloc_start + CFG_MALLOC_LEN;
+       mem_malloc_start = CONFIG_SYS_MALLOC_BASE;
+       mem_malloc_end = mem_malloc_start + CONFIG_SYS_MALLOC_LEN;
        mem_malloc_brk = mem_malloc_start;
        memset ((void *) mem_malloc_start,
                0,
@@ -106,33 +107,31 @@ init_fnc_t *init_sequence[] = {
 /***********************************************************************/
 void board_init (void)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
        bd_t *bd;
        init_fnc_t **init_fnc_ptr;
        char *s, *e;
        int i;
 
        /* Pointer is writable since we allocated a register for it.
-        * Nios treats CFG_GBL_DATA_OFFSET as an address.
+        * Nios treats CONFIG_SYS_GBL_DATA_OFFSET as an address.
         */
-       gd = (gd_t *)CFG_GBL_DATA_OFFSET;
+       gd = (gd_t *)CONFIG_SYS_GBL_DATA_OFFSET;
        /* compiler optimization barrier needed for GCC >= 3.4 */
        __asm__ __volatile__("": : :"memory");
 
-       memset( gd, 0, CFG_GBL_DATA_SIZE );
+       memset( gd, 0, CONFIG_SYS_GBL_DATA_SIZE );
 
        gd->bd = (bd_t *)(gd+1);        /* At end of global data */
        gd->baudrate = CONFIG_BAUDRATE;
        gd->cpu_clk = CONFIG_SYS_CLK_FREQ;
 
        bd = gd->bd;
-       bd->bi_memstart = CFG_SDRAM_BASE;
-       bd->bi_memsize = CFG_SDRAM_SIZE;
-       bd->bi_flashstart = CFG_FLASH_BASE;
-#if    defined(CFG_SRAM_BASE) && defined(CFG_SRAM_SIZE)
-       bd->bi_sramstart= CFG_SRAM_BASE;
-       bd->bi_sramsize = CFG_SRAM_SIZE;
+       bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
+       bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
+       bd->bi_flashstart = CONFIG_SYS_FLASH_BASE;
+#if    defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE)
+       bd->bi_sramstart= CONFIG_SYS_SRAM_BASE;
+       bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;
 #endif
        bd->bi_baudrate = CONFIG_BAUDRATE;
 
@@ -191,3 +190,13 @@ void hang (void)
        puts("### ERROR ### Please reset board ###\n");
        for (;;);
 }
+
+unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
+{
+       /*
+        * x86 does not use a dedicated register to pass the pointer
+        * to the global_data
+        */
+       argv[-1] = (char *)gd;
+       return entry (argc, argv);
+}