David Hendricks ([email protected]) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/2210

-gerrit

commit 41ffc6d3e0fb939ea3b489e74d397e615c6ea0e9
Author: David Hendricks <[email protected]>
Date:   Mon Jan 28 12:24:54 2013 -0800

    armv7: nuke global_data.h and remove some references to gd struct
    
    This begins to remove references to global data which u-boot used.
    There are still many commented out references to gd-> and bd-> which
    we'll fix once we're happy with the replacements.
    
    Change-Id: Ie1b40a997e28a118f8f3ad96a2f9a2462d32fbe3
    Signed-off-by: David Hendricks <[email protected]>
---
 src/arch/armv7/include/common.h           |   3 -
 src/arch/armv7/include/global_data.h      | 108 ------------------------------
 src/arch/armv7/lib/cache-cp15.c           |  11 +--
 src/cpu/samsung/exynos5-common/spl_boot.c |  12 ----
 4 files changed, 3 insertions(+), 131 deletions(-)

diff --git a/src/arch/armv7/include/common.h b/src/arch/armv7/include/common.h
index a2cd9ae..5a27fc0 100644
--- a/src/arch/armv7/include/common.h
+++ b/src/arch/armv7/include/common.h
@@ -83,7 +83,6 @@ void __assert_fail(const char *assertion, const char *file, 
unsigned line,
 typedef void (interrupt_handler_t)(void *);
 
 //#include <asm/u-boot.h> /* boot information for Linux kernel */
-#include <global_data.h>       /* global data used for startup functions */
 
 /*
  * Return the time since boot in microseconds, This is needed for bootstage
@@ -152,7 +151,6 @@ void        reset_cmd_timeout(void);
 
 /* arch/$(ARCH)/lib/board.c */
 void   board_init_f  (void);
-void   board_init_r  (gd_t *, ulong) __attribute__ ((noreturn));
 int    checkboard    (void);
 int    checkflash    (void);
 int    checkdram     (void);
@@ -247,7 +245,6 @@ int dcache_status (void);
 void   dcache_enable (void);
 void   dcache_disable(void);
 void   mmu_disable(void);
-void   relocate_code (ulong, gd_t *, ulong) __attribute__ ((noreturn));
 ulong  get_endaddr   (void);
 void   trap_init     (ulong);
 #if defined (CONFIG_4xx)       || \
diff --git a/src/arch/armv7/include/global_data.h 
b/src/arch/armv7/include/global_data.h
deleted file mode 100644
index 4ae86aa..0000000
--- a/src/arch/armv7/include/global_data.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * (C) Copyright 2002-2010
- * Wolfgang Denk, DENX Software Engineering, [email protected].
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef        __ASM_GBL_DATA_H
-#define __ASM_GBL_DATA_H
-
-/*
- * The following data structure is placed in some memory which is
- * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
- * some locked parts of the data cache) to allow for a minimum set of
- * global variables during system initialization (until we have set
- * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
- */
-
-typedef        struct  global_data {
-//     bd_t            *bd;
-       unsigned long   flags;
-       unsigned long   baudrate;
-       unsigned long   have_console;   /* serial_init() was called */
-#ifdef CONFIG_PRE_CONSOLE_BUFFER
-       unsigned long   precon_buf_idx; /* Pre-Console buffer index */
-#endif
-       unsigned long   env_addr;       /* Address  of Environment struct */
-       unsigned long   env_valid;      /* Checksum of Environment valid? */
-       unsigned long   fb_base;        /* base address of frame buffer */
-#ifdef CONFIG_FSL_ESDHC
-       unsigned long   sdhc_clk;
-#endif
-#ifdef CONFIG_AT91FAMILY
-       /* "static data" needed by at91's clock.c */
-       unsigned long   cpu_clk_rate_hz;
-       unsigned long   main_clk_rate_hz;
-       unsigned long   mck_rate_hz;
-       unsigned long   plla_rate_hz;
-       unsigned long   pllb_rate_hz;
-       unsigned long   at91_pllb_usb_init;
-#endif
-#ifdef CONFIG_ARM
-       /* "static data" needed by most of timer.c on ARM platforms */
-       unsigned long   timer_rate_hz;
-       unsigned long   tbl;
-       unsigned long   tbu;
-       unsigned long long      timer_reset_value;
-       unsigned long   lastinc;
-#endif
-#ifdef CONFIG_IXP425
-       unsigned long   timestamp;
-#endif
-       unsigned long   relocaddr;      /* Start address of U-Boot in RAM */
-       unsigned long long ram_size;    /* RAM size */
-       unsigned long   mon_len;        /* monitor len */
-       unsigned long   irq_sp;         /* irq stack pointer */
-       unsigned long   start_addr_sp;  /* start_addr_stackpointer */
-       unsigned long   reloc_off;
-#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
-       unsigned long   tlb_addr;
-       unsigned long   tlb_size;
-#endif
-       const void      *fdt_blob;      /* Our device tree, NULL if none */
-#ifdef CONFIG_SYS_SKIP_ARM_RELOCATION
-       ulong           malloc_end;     /* End of malloc region (addr + 1) */
-#endif
-       void            **jt;           /* jump table */
-       char            env_buf[32];    /* buffer for getenv() before reloc. */
-#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
-       unsigned long   post_log_word; /* Record POST activities */
-       unsigned long   post_log_res; /* success of POST test */
-       unsigned long   post_init_f_time; /* When post_init_f started */
-#endif
-} gd_t;
-
-/*
- * Global Data Flags
- */
-#define        GD_FLG_RELOC            0x00001 /* Code was relocated to RAM    
        */
-#define        GD_FLG_DEVINIT          0x00002 /* Devices have been 
initialized        */
-#define        GD_FLG_SILENT           0x00004 /* Silent mode                  
        */
-#define        GD_FLG_POSTFAIL         0x00008 /* Critical POST test failed    
        */
-#define        GD_FLG_POSTSTOP         0x00010 /* POST seqeunce aborted        
        */
-#define        GD_FLG_LOGINIT          0x00020 /* Log Buffer has been 
initialized      */
-#define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out)           
*/
-#define GD_FLG_ENV_READY       0x00080 /* Environment imported into hash table 
*/
-
-#define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r8")
-
-#endif /* __ASM_GBL_DATA_H */
diff --git a/src/arch/armv7/lib/cache-cp15.c b/src/arch/armv7/lib/cache-cp15.c
index c684d65..221befa 100644
--- a/src/arch/armv7/lib/cache-cp15.c
+++ b/src/arch/armv7/lib/cache-cp15.c
@@ -24,9 +24,8 @@
 #include <common.h>
 #include <stdlib.h>
 #include <system.h>
-#include <global_data.h>
 
-DECLARE_GLOBAL_DATA_PTR;
+static unsigned int tlb_addr;
 
 static void cp_delay (void)
 {
@@ -41,9 +40,7 @@ static void cp_delay (void)
 static void set_section_dcache(int section, enum dcache_option option)
 {
        u32 value = section << MMU_SECTION_SHIFT | (3 << 10);
-//     u32 *page_table = (u32 *)gd->tlb_addr;
        u32 *page_table;
-       unsigned int tlb_addr;
        unsigned int tlb_size = 4096 * 4;
 
        /*
@@ -82,7 +79,7 @@ void __mmu_page_table_flush(unsigned long start, unsigned 
long stop)
 
 void mmu_set_region_dcache(unsigned long start, int size, enum dcache_option 
option)
 {
-       u32 *page_table = (u32 *)gd->tlb_addr;
+       u32 *page_table = &tlb_addr;
        u32 upto, end;
 
        end = ALIGN(start + size, MMU_SECTION_SIZE) >> MMU_SECTION_SHIFT;
@@ -113,8 +110,6 @@ static inline void dram_bank_mmu_setup(int bank)
 }
 #endif
 
-/* FIXME(dhendrix): modified to take arguments from the caller (mainboard's
-   romstage.c) so it doesn't rely on global data struct */
 /**
  * dram_bank_mmu_set - set up the data cache policy for a given dram bank
  *
@@ -163,7 +158,7 @@ static inline void mmu_setup(void)
 
        /* Copy the page table address to cp15 */
        asm volatile("mcr p15, 0, %0, c2, c0, 0"
-                    : : "r" (gd->tlb_addr) : "memory");
+                    : : "r" (tlb_addr) : "memory");
        /* Set the access control to all-supervisor */
        asm volatile("mcr p15, 0, %0, c3, c0, 0"
                     : : "r" (~0));
diff --git a/src/cpu/samsung/exynos5-common/spl_boot.c 
b/src/cpu/samsung/exynos5-common/spl_boot.c
index ecff871..ddf6937 100644
--- a/src/cpu/samsung/exynos5-common/spl_boot.c
+++ b/src/cpu/samsung/exynos5-common/spl_boot.c
@@ -55,9 +55,6 @@
 
 #include <arch/io.h>
 
-/* FIXME(dhendrix): clean out u-boot global data stuff */
-//DECLARE_GLOBAL_DATA_PTR;
-
 #define OM_STAT                (0x1f << 1)
 
 /**
@@ -344,15 +341,6 @@ void board_init_f(void)
        hlt();
 }
 
-/* Place Holders */
-void board_init_r(gd_t *id, ulong dest_addr)
-{
-       /* Function attribute is no-return */
-       /* This Function never executes */
-       while (1)
-               ;
-}
-
 //void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3) {}
 
 #if 0

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to