
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/17/12 13:26, Ilya Yanok wrote:
This patch adds support for networking in SPL. Some devices are capable of loading SPL via network so it makes sense to load the main U-Boot binary via network too. This patch tries to use existing network code as much as possible. Unfortunately, it depends on environment which in turn depends on other code so SPL size is increased significantly. No effort was done to decouple network code and environment so far.
Signed-off-by: Ilya Yanok ilya.yanok@cogentembedded.com
[snip]
diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h new file mode 100644 index 0000000..8ad6045 --- /dev/null +++ b/include/config_uncmd_spl.h @@ -0,0 +1,24 @@ +/* + * We don't use any commands in SPL, but generic networking code + * has some features enabled/disabled based on CONFIG_CMD_* + * options. As we want a minimal set of features included + * into network SPL image, we undefine some config options here. + */ + +#ifndef __CONFIG_UNCMD_SPL_H__ +#define __CONFIG_UNCMD_SPL_H__ + +#ifdef CONFIG_SPL_BUILD +/* SPL needs only BOOTP + TFTP so undefine other stuff to save space */ +#undef CONFIG_CMD_CDP +#undef CONFIG_CMD_DHCP +#undef CONFIG_CMD_DNS +#undef CONFIG_CMD_LINK_LOCAL +#undef CONFIG_CMD_NFS +#undef CONFIG_CMD_PING +#undef CONFIG_CMD_RARP +#undef CONFIG_CMD_SNTP +#undef CONFIG_CMD_TFTPPUT +#undef CONFIG_CMD_TFTPSRV +#endif /* CONFIG_SPL_BUILD */ +#endif /* __CONFIG_UNCMD_SPL_H__ */
Please add a GPLv2+ header to the file, thanks.
diff --git a/lib/vsprintf.c b/lib/vsprintf.c index e38a4b7..6bb819c 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -784,7 +784,7 @@ void panic(const char *fmt, ...) vprintf(fmt, args); putc('\n'); va_end(args); -#if defined (CONFIG_PANIC_HANG) +#if defined (CONFIG_PANIC_HANG) || defined(CONFIG_SPL_BUILD) hang(); #else udelay (100000); /* allow messages to go out */
Oh no, this change... Do we still really need this?
diff --git a/net/tftp.c b/net/tftp.c index 59a8ebb..baba8f3 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -7,6 +7,10 @@ */
#include <common.h> +#ifdef CONFIG_SPL_BUILD +#undef CONFIG_CMD_TFTPPUT +#undef CONFIG_CMD_TFTPSRV +#endif #include <command.h> #include <net.h> #include "tftp.h"
Missed this.
Also I saw a few manual inclusions of <config_uncmd_spl.h>, please fix those since mkconfig adds it always. Thanks.
- -- Tom