hi simon:<br>  found a small bug?(not sure) which introduced by this commit.<br><br>this line not inldue FDT option<br>#if defined(CONFIG_SILENT_CONSOLE) || defined(CONFIG_POST) || defined(CONFIG_CMDLINE_EDITING)<br>DECLARE_GLOBAL_DATA_PTR;<br>
#endif<br><br><br>main.c: In function 'process_fdt_options':<br>main.c:341:31: error: 'gd' undeclared (first use in this function)<br>main.c:341:31: note: each undeclared identifier is reported only once for each function it appears in<br>
main.c: In function 'main_loop':<br>main.c:464:33: error: 'gd' undeclared (first use in this function)<br>make[2]: *** [main.o] Error 1<br>make[2]: *** Waiting for unfinished jobs....<br>make[1]: *** [common/libcommon.o] Error 2<br>
make[1]: *** Waiting for unfinished jobs....<br>make: *** [lt703a] Error 2<br><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Oct 26, 2012 at 10:31 AM, Simon Glass <span dir="ltr"><<a href="mailto:sjg@chromium.org" target="_blank">sjg@chromium.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If kernel-offset is specified in the fdt, set an environment variable<br>
so that scripts can access the attached kernel.<br>
<br>
This can be used by a packaging program to tell U-Boot about a kernel<br>
that has been downloaded alongside U-Boot. The value in the fdt is<br>
the offset of the kernel from the start of the U-Boot image, so we can<br>
find it just by adding CONFIG_SYS_TEXT_BASE.<br>
<br>
It is then fairly easy to put something like this in the environment<br>
variables in the board header file:<br>
<br>
                "if test ${kernaddr} != \"\"; then "\<br>
                        "echo \"Using bundled kernel\"; "\<br>
                        "bootm ${kernaddr};" \<br>
                "fi; "\<br>
                /* rest of boot sequence follows here */<br>
<br>
Signed-off-by: Simon Glass <<a href="mailto:sjg@chromium.org">sjg@chromium.org</a>><br>
---<br>
 common/main.c |   16 ++++++++++++++++<br>
 1 files changed, 16 insertions(+), 0 deletions(-)<br>
<br>
diff --git a/common/main.c b/common/main.c<br>
index 03c63b4..3137b75 100644<br>
--- a/common/main.c<br>
+++ b/common/main.c<br>
@@ -333,6 +333,20 @@ err:<br>
        hang();<br>
 }<br>
<br>
+static void process_fdt_options(const void *blob)<br>
+{<br>
+       ulong addr;<br>
+<br>
+       /* Add an env variable to point to a kernel payload, if available */<br>
+       addr = fdtdec_get_config_int(gd->fdt_blob, "kernel-offset", 0);<br>
+       if (addr)<br>
+               setenv_addr("kernaddr", (void *)(CONFIG_SYS_TEXT_BASE + addr));<br>
+<br>
+       /* Add an env variable to point to a root disk, if available */<br>
+       addr = fdtdec_get_config_int(gd->fdt_blob, "rootdisk-offset", 0);<br>
+       if (addr)<br>
+               setenv_addr("rootaddr", (void *)(CONFIG_SYS_TEXT_BASE + addr));<br>
+}<br>
 #endif /* CONFIG_OF_CONTROL */<br>
<br>
<br>
@@ -451,6 +465,8 @@ void main_loop (void)<br>
        if (env)<br>
                s = env;<br>
<br>
+       process_fdt_options(gd->fdt_blob);<br>
+<br>
        /*<br>
         * If the bootsecure option was chosen, use secure_boot_cmd().<br>
         * Always use 'env' in this case, since bootsecure requres that the<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.7.3<br>
<br>
_______________________________________________<br>
U-Boot mailing list<br>
<a href="mailto:U-Boot@lists.denx.de">U-Boot@lists.denx.de</a><br>
<a href="http://lists.denx.de/mailman/listinfo/u-boot" target="_blank">http://lists.denx.de/mailman/listinfo/u-boot</a><br>
</font></span></blockquote></div><br></div>