@rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \
                $(obj)cscope.* $(obj)*.*~
        @rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL)
-       @rm -f $(obj)tools/{crc32.c,environment.c,env/crc32.c,md5.c,sha1.c,inca-swap-bytes}
+       @rm -f $(obj)tools/{crc32.c,env_embedded.c,env/crc32.c,md5.c,sha1.c,inca-swap-bytes}
        @rm -f $(obj)tools/{image.c,fdt.c,fdt_ro.c,fdt_rw.c,fdt_strerror.c,zlib.h}
        @rm -f $(obj)tools/{fdt_wip.c,libfdt_internal.h}
        @rm -f $(obj)cpu/mpc824x/bedbug_603e.c
 
     lib_generic/zlib.o (.text)
 
 /*    . = env_offset; */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/ticks.o                    (.text)
 
     . = env_offset;
-    common/environment.o               (.text)
+    common/env_embedded.o              (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     cpu/74xx_7xx/start.o       (.text)
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
 /* XXX ?
     . = env_offset;
 */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 /* XXX ?
     . = env_offset;
 */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 /* XXX ?
     . = env_offset;
 */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = env_offset;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
                common/dlmalloc.o(.text)
                cpu/ixp/cpu.o(.text)
                . = env_offset;
-               common/environment.o(.ppcenv)
+               common/env_embedded.o(.ppcenv)
                * (.text)
        }
 
 
                cpu/ixp/cpu.o(.text)
 
                . = env_offset;
-               common/environment.o (.ppcenv)
+               common/env_embedded.o (.ppcenv)
 
                * (.text)
        }
 
                cpu/ixp/cpu.o (.text)
 
                . = env_offset;
-               common/environment.o (.ppcenv)
+               common/env_embedded.o (.ppcenv)
 
                * (.text)
        }
 
 
     /* Align to next NAND block */
     . = ALIGN(0x4000);
-    common/environment.o  (.ppcenv)
+    common/env_embedded.o  (.ppcenv)
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x10000);
 
 
 
     /* Align to next NAND block */
     . = ALIGN(0x4000);
-    common/environment.o  (.ppcenv)
+    common/env_embedded.o  (.ppcenv)
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x10000);
 
 
 
     /* Align to next NAND block */
     . = ALIGN(0x20000);
-    common/environment.o  (.ppcenv)
+    common/env_embedded.o  (.ppcenv)
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x80000);
 
 
 
     /* Align to next NAND block */
     . = ALIGN(0x4000);
-    common/environment.o  (.ppcenv)
+    common/env_embedded.o  (.ppcenv)
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x10000);
 
 
     board/amcc/redwood/init.o  (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
 
     /* Align to next NAND block */
     . = ALIGN(0x4000);
-    common/environment.o  (.ppcenv)
+    common/env_embedded.o  (.ppcenv)
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x10000);
 
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
                board/bf533-ezkit/bf533-ezkit.o         (.text)
 
                . = DEFINED(env_offset) ? env_offset : .;
-               common/environment.o    (.text)
+               common/env_embedded.o   (.text)
 #endif
 
                *(.text .text.*)
 
                lib_generic/crc32.o             (.text)
 
                . = DEFINED(env_offset) ? env_offset : .;
-               common/environment.o    (.text)
+               common/env_embedded.o   (.text)
 #endif
 
                *(.text .text.*)
 
                lib_generic/crc32.o             (.text)
 
                . = DEFINED(env_offset) ? env_offset : .;
-               common/environment.o    (.text)
+               common/env_embedded.o   (.text)
 #endif
 
                *(.text .text.*)
 
                board/bf561-ezkit/bf561-ezkit.o         (.text)
 
                . = DEFINED(env_offset) ? env_offset : .;
-               common/environment.o    (.text)
+               common/env_embedded.o   (.text)
 #endif
 
                *(.text .text.*)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
   .text      :
   {
     *(.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.fixup)
     *(.got1)
   }
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*. = env_offset;*/
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
     lib_ppc/extable.o  (.text)
 
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/board.o    (.text)
     lib_generic/zlib.o (.text)
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_ppc/board.o    (.text)
     lib_generic/zlib.o (.text)
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
   . = 0xFFFF8000;
   .ppcenv :
   {
-    common/environment.o(.ppcenv);
+    common/env_embedded.o(.ppcenv);
   }
 
   _end = . ;
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
   .text      :
   {
     cpu/mpc8xx/start.o (.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
 
 /*
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 */
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     net/net.o                  (.text)
 
 /*    . = env_offset;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 */
 
     *(.text)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     net/bootp.o        (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
 
     /* Align to next NAND block */
     . = ALIGN(0x4000);
-    common/environment.o  (.ppcenv)
+    common/env_embedded.o  (.ppcenv)
     /* Keep some space here for redundant env and potential bad env blocks */
     . = ALIGN(0x10000);
 
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
 
     lib_generic/crc32.o                (.text)
     common/dlmalloc.o  (.text)
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     cpu/mpc8xx/start.o         (.text)
 
     /*. = DEFINED(env_offset) ? env_offset : .;*/
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     common/main.o              (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/libgeneric.a   (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
 
     *(.text)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o        (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     board/freescale/m54455evb/m54455evb.o      (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 */
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     common/dlmalloc.o          (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     common/dlmalloc.o          (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
          drivers/mtd/libmtd.a                  (.text)
 
          . = DEFINED(env_offset) ? env_offset : .;
-         common/environment.o(.text)
+         common/env_embedded.o(.text)
 
          *(.text)
        }
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
   .ppcenv:
   {
     . = env_offset;
-    common/environment.o
+    common/env_embedded.o
   }
 }
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
   . = ALIGN(256 * 1024);
   .ppcenv      :
   {
-    common/environment.o (.ppcenv)
+    common/env_embedded.o (.ppcenv)
   }
   _end = . ;
   PROVIDE (end = .);
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
   . = ALIGN(256 * 1024);
   .ppcenv      :
   {
-    common/environment.o (.ppcenv)
+    common/env_embedded.o (.ppcenv)
   }
   _end = . ;
   PROVIDE (end = .);
 
   {
     cpu/mpc8xx/start.o(.text)
     *(.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.fixup)
     *(.got1)
   }
 
     lib_ppc/cache.o            (.text)
     lib_generic/crc32.o                (.text)
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
     lib_ppc/ticks.o            (.text)
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 
     . = env_offset;
 */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
   . = ALIGN(256 * 1024);
   .ppcenv      :
   {
-    common/environment.o (.ppcenv)
+    common/env_embedded.o (.ppcenv)
   }
   _end = . ;
   PROVIDE (end = .);
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 */
 
     *(.text)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/ticks.o            (.text)
 /**
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 **/
     *(.text)
     *(.fixup)
 
     lib_ppc/ticks.o            (.text)
 /**
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 **/
     *(.text)
     *(.fixup)
 
   .text      :
   {
     cpu/mpc8xx/start.o (.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     cpu/ppc4xx/kgdb.o  (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 */
 
     *(.text)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 */
 
     *(.text)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
   .text      :
   {
     cpu/mpc8xx/start.o (.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
     lib_ppc/extable.o  (.text)
 
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 
   .ppcenv      :
   {
-    common/environment.o (.ppcenv)
+    common/env_embedded.o (.ppcenv)
   } > ram
 
   _end = . ;
 
     lib_generic/zlib.o         (.text)
 
                . = env_offset;
-    common/environment.o (.text)
+    common/env_embedded.o (.text)
 
                *(.text)
 
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
     lib_ppc/extable.o  (.text)
 
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
        {
                cpu/sh3/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
        {
                cpu/sh3/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     cpu/ppc4xx/start.o (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     cpu/ppc4xx/start.o (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
   .text      :
   {
     cpu/mpc8xx/start.o (.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
 
 /* store the environment in a seperate sector in the boot flash */
 /*    . = env_offset; */
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
          common/cmd_boot.o             (.text)
          lib_generic/zlib.o            (.text)
          . = DEFINED(env_offset) ? env_offset : .;
-         common/environment.o  (.ppcenv)
+         common/env_embedded.o (.ppcenv)
 
          *(.text)
        }
 
 /* XXX ?
     . = env_offset;
 */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
     cpu/mpc8xx/traps.o         (.text)
 /***
     . = env_offset;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 ***/
     *(.text)
     *(.fixup)
   . = ALIGN(128 * 1024);
   .ppcenv      :
   {
-    common/environment.o (.ppcenv)
+    common/env_embedded.o (.ppcenv)
   }
 }
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 /* XXX ?
     . = env_offset;
 */
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
        {
                cpu/sh2/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_ppc/extable.o  (.text)
     lib_generic/zlib.o         (.text)
 
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_ppc/extable.o  (.text)
     lib_generic/zlib.o         (.text)
 
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
        {
                cpu/sh4/start.o         (.text)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenv)
+               common/env_embedded.o   (.ppcenv)
                . = ALIGN(8192);
-               common/environment.o    (.ppcenvr)
+               common/env_embedded.o   (.ppcenvr)
                . = ALIGN(8192);
                *(.text)
                . = ALIGN(4);
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 /*
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 */
     *(.text)
     *(.fixup)
 
     cpu/mpc8xx/interrupts.o (.text)
     lib_ppc/time.o             (.text)
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
   .text      :
   {
     cpu/mpc8xx/start.o (.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
   .text      :
   {
     cpu/mpc8xx/start.o (.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
 
        lib_ppc/time.o          (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-       common/environment.o    (.ppcenv)
+       common/env_embedded.o   (.ppcenv)
 
     *(.text)
     *(.fixup)
 
        lib_ppc/time.o          (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-       common/environment.o    (.ppcenv)
+       common/env_embedded.o   (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
   .text      :
   {
     cpu/mpc8xx/start.o (.text)
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
     *(.text)
     *(.fixup)
     *(.got1)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = env_offset;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/time.o             (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
          lib_generic/string.o  (.text)
 
        . = DEFINED(env_offset) ? env_offset : .;
-         common/environment.o  (.ppcenv)
+         common/env_embedded.o (.ppcenv)
 
          *(.text)
        }
 
     lib_ppc/cache.o            (.text)
     lib_ppc/time.o             (.text)
 
-    common/environment.o       (.text)
+    common/env_embedded.o      (.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/vsprintf.o     (.text)
     lib_generic/crc32.o                (.text)
 
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
 /*
     . = env_offset;
 */
-    common/environment.o       (.ppcenv)
+    common/env_embedded.o      (.ppcenv)
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
     lib_ppc/extable.o  (.text)
 
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_ppc/extable.o  (.text)
 
     . = env_offset;
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 */
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_generic/crc32.o                (.text)
     lib_ppc/extable.o  (.text)
 
-    common/environment.o(.text)
+    common/env_embedded.o(.text)
 
     *(.text)
     *(.fixup)
 
     lib_generic/zlib.o         (.text)
 
 /*    . = env_offset;*/
-/*    common/environment.o(.text)*/
+/*    common/env_embedded.o(.text)*/
 
     *(.text)
     *(.fixup)
 
     lib_ppc/extable.o  (.text)
     lib_generic/zlib.o         (.text)
 
-/*    common/environment.o(.text) */
+/*    common/env_embedded.o(.text) */
 
     *(.text)
     *(.fixup)
 
 COBJS-y += cmd_nvedit.o
 
 # environment
-COBJS-y += environment.o
 COBJS-y += env_common.o
 COBJS-$(CONFIG_ENV_IS_IN_DATAFLASH) += env_dataflash.o
 COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_eeprom.o
+COBJS-y += env_embedded.o
 COBJS-y += env_flash.o
 COBJS-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o
 COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_nvram.o
 $(LIB): $(obj).depend $(OBJS)
        $(AR) $(ARFLAGS) $@ $(OBJS)
 
-$(obj)environment.o: $(src)environment.c $(obj)../tools/envcrc
+$(obj)env_embedded.o: $(src)env_embedded.c $(obj)../tools/envcrc
        $(CC) $(AFLAGS) -Wa,--no-warn \
                -DENV_CRC=$(shell $(obj)../tools/envcrc) \
-               -c -o $@ $(src)environment.c
+               -c -o $@ $(src)env_embedded.c
 
 $(obj)../tools/envcrc:
        $(MAKE) -C ../tools
 
--- /dev/null
+/*
+ * (C) Copyright 2001
+ * Erik Theisen,  Wave 7 Optics, etheisen@mindspring.com.
+ *
+ * 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 __ASSEMBLY__
+#define        __ASSEMBLY__                    /* Dirty trick to get only #defines     */
+#endif
+#define        __ASM_STUB_PROCESSOR_H__        /* don't include asm/processor.         */
+#include <config.h>
+#undef __ASSEMBLY__
+#include <environment.h>
+
+/*
+ * Handle HOSTS that have prepended
+ * crap on symbol names, not TARGETS.
+ */
+#if defined(__APPLE__)
+/* Leading underscore on symbols */
+#  define SYM_CHAR "_"
+#else /* No leading character on symbols */
+#  define SYM_CHAR
+#endif
+
+/*
+ * Generate embedded environment table
+ * inside U-Boot image, if needed.
+ */
+#if defined(ENV_IS_EMBEDDED)
+/*
+ * Only put the environment in it's own section when we are building
+ * U-Boot proper.  The host based program "tools/envcrc" does not need
+ * a seperate section.  Note that ENV_CRC is only defined when building
+ * U-Boot itself.
+ */
+#if (defined(CFG_USE_PPCENV) || defined(CONFIG_NAND_U_BOOT)) && \
+     defined(ENV_CRC) /* Environment embedded in U-Boot .ppcenv section */
+/* XXX - This only works with GNU C */
+#  define __PPCENV__ __attribute__ ((section(".ppcenv")))
+#  define __PPCTEXT__ __attribute__ ((section(".text")))
+
+#elif defined(USE_HOSTCC) /* Native for 'tools/envcrc' */
+#  define __PPCENV__ /*XXX DO_NOT_DEL_THIS_COMMENT*/
+#  define __PPCTEXT__ /*XXX DO_NOT_DEL_THIS_COMMENT*/
+
+#else /* Environment is embedded in U-Boot's .text section */
+/* XXX - This only works with GNU C */
+#  define __PPCENV__ __attribute__ ((section(".text")))
+#  define __PPCTEXT__ __attribute__ ((section(".text")))
+#endif
+
+/*
+ * Macros to generate global absolutes.
+ */
+#if defined(__bfin__)
+# define GEN_SET_VALUE(name, value) asm (".set " GEN_SYMNAME(name) ", " GEN_VALUE(value))
+#else
+# define GEN_SET_VALUE(name, value) asm (GEN_SYMNAME(name) " = " GEN_VALUE(value))
+#endif
+#define GEN_SYMNAME(str) SYM_CHAR #str
+#define GEN_VALUE(str) #str
+#define GEN_ABS(name, value) \
+               asm (".globl " GEN_SYMNAME(name)); \
+               GEN_SET_VALUE(name, value)
+
+/*
+ * Macros to transform values
+ * into environment strings.
+ */
+#define XMK_STR(x)     #x
+#define MK_STR(x)      XMK_STR(x)
+
+/*
+ * Check to see if we are building with a
+ * computed CRC.  Otherwise define it as ~0.
+ */
+#if !defined(ENV_CRC)
+#  define ENV_CRC      ~0
+#endif
+
+env_t environment __PPCENV__ = {
+       ENV_CRC,        /* CRC Sum */
+#ifdef CFG_REDUNDAND_ENVIRONMENT
+       1,              /* Flags: valid */
+#endif
+       {
+#if defined(CONFIG_BOOTARGS)
+       "bootargs="     CONFIG_BOOTARGS                 "\0"
+#endif
+#if defined(CONFIG_BOOTCOMMAND)
+       "bootcmd="      CONFIG_BOOTCOMMAND              "\0"
+#endif
+#if defined(CONFIG_RAMBOOTCOMMAND)
+       "ramboot="      CONFIG_RAMBOOTCOMMAND           "\0"
+#endif
+#if defined(CONFIG_NFSBOOTCOMMAND)
+       "nfsboot="      CONFIG_NFSBOOTCOMMAND           "\0"
+#endif
+#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)
+       "bootdelay="    MK_STR(CONFIG_BOOTDELAY)        "\0"
+#endif
+#if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)
+       "baudrate="     MK_STR(CONFIG_BAUDRATE)         "\0"
+#endif
+#ifdef CONFIG_LOADS_ECHO
+       "loads_echo="   MK_STR(CONFIG_LOADS_ECHO)       "\0"
+#endif
+#ifdef CONFIG_ETHADDR
+       "ethaddr="      MK_STR(CONFIG_ETHADDR)          "\0"
+#endif
+#ifdef CONFIG_ETH1ADDR
+       "eth1addr="     MK_STR(CONFIG_ETH1ADDR)         "\0"
+#endif
+#ifdef CONFIG_ETH2ADDR
+       "eth2addr="     MK_STR(CONFIG_ETH2ADDR)         "\0"
+#endif
+#ifdef CONFIG_ETH3ADDR
+       "eth3addr="     MK_STR(CONFIG_ETH3ADDR)         "\0"
+#endif
+#ifdef CONFIG_ETHPRIME
+       "ethprime="     CONFIG_ETHPRIME                 "\0"
+#endif
+#ifdef CONFIG_IPADDR
+       "ipaddr="       MK_STR(CONFIG_IPADDR)           "\0"
+#endif
+#ifdef CONFIG_SERVERIP
+       "serverip="     MK_STR(CONFIG_SERVERIP)         "\0"
+#endif
+#ifdef CFG_AUTOLOAD
+       "autoload="     CFG_AUTOLOAD                    "\0"
+#endif
+#ifdef CONFIG_ROOTPATH
+       "rootpath="     MK_STR(CONFIG_ROOTPATH)         "\0"
+#endif
+#ifdef CONFIG_GATEWAYIP
+       "gatewayip="    MK_STR(CONFIG_GATEWAYIP)        "\0"
+#endif
+#ifdef CONFIG_NETMASK
+       "netmask="      MK_STR(CONFIG_NETMASK)          "\0"
+#endif
+#ifdef CONFIG_HOSTNAME
+       "hostname="     MK_STR(CONFIG_HOSTNAME)         "\0"
+#endif
+#ifdef CONFIG_BOOTFILE
+       "bootfile="     MK_STR(CONFIG_BOOTFILE)         "\0"
+#endif
+#ifdef CONFIG_LOADADDR
+       "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
+#endif
+#ifdef CONFIG_PREBOOT
+       "preboot="      CONFIG_PREBOOT                  "\0"
+#endif
+#ifdef CONFIG_CLOCKS_IN_MHZ
+       "clocks_in_mhz=" "1"                            "\0"
+#endif
+#if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0)
+       "pcidelay="     MK_STR(CONFIG_PCI_BOOTDELAY)    "\0"
+#endif
+#ifdef  CONFIG_EXTRA_ENV_SETTINGS
+       CONFIG_EXTRA_ENV_SETTINGS
+#endif
+       "\0"            /* Term. env_t.data with 2 NULs */
+       }
+};
+#ifdef CFG_ENV_ADDR_REDUND
+env_t redundand_environment __PPCENV__ = {
+       0,              /* CRC Sum: invalid */
+       0,              /* Flags:   invalid */
+       {
+       "\0"
+       }
+};
+#endif /* CFG_ENV_ADDR_REDUND */
+
+/*
+ * These will end up in the .text section
+ * if the environment strings are embedded
+ * in the image.  When this is used for
+ * tools/envcrc, they are placed in the
+ * .data/.sdata section.
+ *
+ */
+unsigned long env_size __PPCTEXT__ = sizeof(env_t);
+
+/*
+ * Add in absolutes.
+ */
+GEN_ABS(env_offset, CFG_ENV_OFFSET);
+
+#endif /* ENV_IS_EMBEDDED */
 
+++ /dev/null
-/*
- * (C) Copyright 2001
- * Erik Theisen,  Wave 7 Optics, etheisen@mindspring.com.
- *
- * 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 __ASSEMBLY__
-#define        __ASSEMBLY__                    /* Dirty trick to get only #defines     */
-#endif
-#define        __ASM_STUB_PROCESSOR_H__        /* don't include asm/processor.         */
-#include <config.h>
-#undef __ASSEMBLY__
-#include <environment.h>
-
-/*
- * Handle HOSTS that have prepended
- * crap on symbol names, not TARGETS.
- */
-#if defined(__APPLE__)
-/* Leading underscore on symbols */
-#  define SYM_CHAR "_"
-#else /* No leading character on symbols */
-#  define SYM_CHAR
-#endif
-
-/*
- * Generate embedded environment table
- * inside U-Boot image, if needed.
- */
-#if defined(ENV_IS_EMBEDDED)
-/*
- * Only put the environment in it's own section when we are building
- * U-Boot proper.  The host based program "tools/envcrc" does not need
- * a seperate section.  Note that ENV_CRC is only defined when building
- * U-Boot itself.
- */
-#if (defined(CFG_USE_PPCENV) || defined(CONFIG_NAND_U_BOOT)) && \
-     defined(ENV_CRC) /* Environment embedded in U-Boot .ppcenv section */
-/* XXX - This only works with GNU C */
-#  define __PPCENV__ __attribute__ ((section(".ppcenv")))
-#  define __PPCTEXT__ __attribute__ ((section(".text")))
-
-#elif defined(USE_HOSTCC) /* Native for 'tools/envcrc' */
-#  define __PPCENV__ /*XXX DO_NOT_DEL_THIS_COMMENT*/
-#  define __PPCTEXT__ /*XXX DO_NOT_DEL_THIS_COMMENT*/
-
-#else /* Environment is embedded in U-Boot's .text section */
-/* XXX - This only works with GNU C */
-#  define __PPCENV__ __attribute__ ((section(".text")))
-#  define __PPCTEXT__ __attribute__ ((section(".text")))
-#endif
-
-/*
- * Macros to generate global absolutes.
- */
-#if defined(__bfin__)
-# define GEN_SET_VALUE(name, value) asm (".set " GEN_SYMNAME(name) ", " GEN_VALUE(value))
-#else
-# define GEN_SET_VALUE(name, value) asm (GEN_SYMNAME(name) " = " GEN_VALUE(value))
-#endif
-#define GEN_SYMNAME(str) SYM_CHAR #str
-#define GEN_VALUE(str) #str
-#define GEN_ABS(name, value) \
-               asm (".globl " GEN_SYMNAME(name)); \
-               GEN_SET_VALUE(name, value)
-
-/*
- * Macros to transform values
- * into environment strings.
- */
-#define XMK_STR(x)     #x
-#define MK_STR(x)      XMK_STR(x)
-
-/*
- * Check to see if we are building with a
- * computed CRC.  Otherwise define it as ~0.
- */
-#if !defined(ENV_CRC)
-#  define ENV_CRC      ~0
-#endif
-
-env_t environment __PPCENV__ = {
-       ENV_CRC,        /* CRC Sum */
-#ifdef CFG_REDUNDAND_ENVIRONMENT
-       1,              /* Flags: valid */
-#endif
-       {
-#if defined(CONFIG_BOOTARGS)
-       "bootargs="     CONFIG_BOOTARGS                 "\0"
-#endif
-#if defined(CONFIG_BOOTCOMMAND)
-       "bootcmd="      CONFIG_BOOTCOMMAND              "\0"
-#endif
-#if defined(CONFIG_RAMBOOTCOMMAND)
-       "ramboot="      CONFIG_RAMBOOTCOMMAND           "\0"
-#endif
-#if defined(CONFIG_NFSBOOTCOMMAND)
-       "nfsboot="      CONFIG_NFSBOOTCOMMAND           "\0"
-#endif
-#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)
-       "bootdelay="    MK_STR(CONFIG_BOOTDELAY)        "\0"
-#endif
-#if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)
-       "baudrate="     MK_STR(CONFIG_BAUDRATE)         "\0"
-#endif
-#ifdef CONFIG_LOADS_ECHO
-       "loads_echo="   MK_STR(CONFIG_LOADS_ECHO)       "\0"
-#endif
-#ifdef CONFIG_ETHADDR
-       "ethaddr="      MK_STR(CONFIG_ETHADDR)          "\0"
-#endif
-#ifdef CONFIG_ETH1ADDR
-       "eth1addr="     MK_STR(CONFIG_ETH1ADDR)         "\0"
-#endif
-#ifdef CONFIG_ETH2ADDR
-       "eth2addr="     MK_STR(CONFIG_ETH2ADDR)         "\0"
-#endif
-#ifdef CONFIG_ETH3ADDR
-       "eth3addr="     MK_STR(CONFIG_ETH3ADDR)         "\0"
-#endif
-#ifdef CONFIG_ETHPRIME
-       "ethprime="     CONFIG_ETHPRIME                 "\0"
-#endif
-#ifdef CONFIG_IPADDR
-       "ipaddr="       MK_STR(CONFIG_IPADDR)           "\0"
-#endif
-#ifdef CONFIG_SERVERIP
-       "serverip="     MK_STR(CONFIG_SERVERIP)         "\0"
-#endif
-#ifdef CFG_AUTOLOAD
-       "autoload="     CFG_AUTOLOAD                    "\0"
-#endif
-#ifdef CONFIG_ROOTPATH
-       "rootpath="     MK_STR(CONFIG_ROOTPATH)         "\0"
-#endif
-#ifdef CONFIG_GATEWAYIP
-       "gatewayip="    MK_STR(CONFIG_GATEWAYIP)        "\0"
-#endif
-#ifdef CONFIG_NETMASK
-       "netmask="      MK_STR(CONFIG_NETMASK)          "\0"
-#endif
-#ifdef CONFIG_HOSTNAME
-       "hostname="     MK_STR(CONFIG_HOSTNAME)         "\0"
-#endif
-#ifdef CONFIG_BOOTFILE
-       "bootfile="     MK_STR(CONFIG_BOOTFILE)         "\0"
-#endif
-#ifdef CONFIG_LOADADDR
-       "loadaddr="     MK_STR(CONFIG_LOADADDR)         "\0"
-#endif
-#ifdef CONFIG_PREBOOT
-       "preboot="      CONFIG_PREBOOT                  "\0"
-#endif
-#ifdef CONFIG_CLOCKS_IN_MHZ
-       "clocks_in_mhz=" "1"                            "\0"
-#endif
-#if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0)
-       "pcidelay="     MK_STR(CONFIG_PCI_BOOTDELAY)    "\0"
-#endif
-#ifdef  CONFIG_EXTRA_ENV_SETTINGS
-       CONFIG_EXTRA_ENV_SETTINGS
-#endif
-       "\0"            /* Term. env_t.data with 2 NULs */
-       }
-};
-#ifdef CFG_ENV_ADDR_REDUND
-env_t redundand_environment __PPCENV__ = {
-       0,              /* CRC Sum: invalid */
-       0,              /* Flags:   invalid */
-       {
-       "\0"
-       }
-};
-#endif /* CFG_ENV_ADDR_REDUND */
-
-/*
- * These will end up in the .text section
- * if the environment strings are embedded
- * in the image.  When this is used for
- * tools/envcrc, they are placed in the
- * .data/.sdata section.
- *
- */
-unsigned long env_size __PPCTEXT__ = sizeof(env_t);
-
-/*
- * Add in absolutes.
- */
-GEN_ABS(env_offset, CFG_ENV_OFFSET);
-
-#endif /* ENV_IS_EMBEDDED */
 
 /*   . = env_start;
        .ppcenv :
        {
-               common/environment.o (.ppcenv)
+               common/env_embedded.o (.ppcenv)
        }
 */
 }
 
     lib_ppc/time.o              (.text)
 
     . = DEFINED(env_offset) ? env_offset : .;
-    common/environment.o        (.ppcenv)
+    common/env_embedded.o        (.ppcenv)
 
     *(.text)
     *(.fixup)
 
 also have to edit common/Makefile:
 
 Replace:
-environment.o: environment.c ../tools/envcrc
+env_embedded.o: env_embedded.c ../tools/envcrc
        $(CC) $(AFLAGS) -Wa,--no-warn \
                -DENV_CRC=$(shell ../tools/envcrc) \
-               -c -o $@ environment.c
+               -c -o $@ env_embedded.c
 
 With:
-environment.o: environment.c
+env_embedded.o: env_embedded.c
        $(CC) $(AFLAGS) -Wa,--no-warn \
                -DENV_CRC=0 \
-               -c -o $@ environment.c
+               -c -o $@ env_embedded.c
 
 BTW, thats a 'zero' ... not the letter 'O'. And not that the
 "../tools/envcrc" dependency is removed.
 
 /bmp_logo
 /crc32.c
 /envcrc
-/environment.c
+/env_embedded.c
 /gen_eth_addr
 /img2srec
 /md5.c
 
 
 BIN_FILES      = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) ubsha1$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX)
 
-OBJ_LINKS      = environment.o crc32.o md5.o sha1.o image.o
+OBJ_LINKS      = env_embedded.o crc32.o md5.o sha1.o image.o
 OBJ_FILES      = img2srec.o mkimage.o envcrc.o ubsha1.o gen_eth_addr.o bmp_logo.o
 
 ifeq ($(ARCH),mips)
 
 all:   $(obj).depend $(BINS) $(LOGO_H) subdirs
 
-$(obj)envcrc$(SFX):    $(obj)envcrc.o $(obj)crc32.o $(obj)environment.o $(obj)sha1.o
+$(obj)envcrc$(SFX):    $(obj)envcrc.o $(obj)crc32.o $(obj)env_embedded.o $(obj)sha1.o
                $(CC) $(CFLAGS) -o $@ $^
 
 $(obj)ubsha1$(SFX):    $(obj)ubsha1.o $(obj)sha1.o
                done
 endif
 
-$(obj)environment.c:
-               @rm -f $(obj)environment.c
-               ln -s $(src)../common/environment.c $(obj)environment.c
+$(obj)env_embedded.c:
+               @rm -f $(obj)env_embedded.c
+               ln -s $(src)../common/env_embedded.c $(obj)env_embedded.c
 
-$(obj)environment.o:   $(obj)environment.c
+$(obj)env_embedded.o:  $(obj)env_embedded.c
                $(CC) -g $(HOST_ENVIRO_CFLAGS) $(CPPFLAGS) -c -o $@ $<
 
 $(obj)zlib.h: