* [U-Boot] Add CONFIG_API to config_distribution @ 2014-08-09 22:30 Jeroen Hofstee 2014-08-09 22:30 ` [U-Boot] [PATCH 1/2] api: fix build without CMD_NET support Jeroen Hofstee 2014-08-09 22:30 ` [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API Jeroen Hofstee 0 siblings, 2 replies; 6+ messages in thread From: Jeroen Hofstee @ 2014-08-09 22:30 UTC (permalink / raw) To: u-boot Since the goal of the common include is to boot many distros, also include the api to boot distro's relying on the api, like GRUB / ubldr / vxWorks. Jeroen Hofstee (2): api: fix build without CMD_NET support config_distro_defaults.h: add CONFIG_API api/api_net.c | 30 ++++++++++++++++++++++++++++++ include/config_distro_defaults.h | 4 ++++ 2 files changed, 34 insertions(+) -- 1.9.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 1/2] api: fix build without CMD_NET support 2014-08-09 22:30 [U-Boot] Add CONFIG_API to config_distribution Jeroen Hofstee @ 2014-08-09 22:30 ` Jeroen Hofstee 2014-08-23 12:42 ` [U-Boot] [U-Boot,1/2] " Tom Rini 2014-08-09 22:30 ` [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API Jeroen Hofstee 1 sibling, 1 reply; 6+ messages in thread From: Jeroen Hofstee @ 2014-08-09 22:30 UTC (permalink / raw) To: u-boot Provide stubs in case that no NET interface is supported. Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> --- api/api_net.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/api/api_net.c b/api/api_net.c index 3f52d71..7b3805e 100644 --- a/api/api_net.c +++ b/api/api_net.c @@ -25,6 +25,7 @@ DECLARE_GLOBAL_DATA_PTR; #define errf(fmt, args...) do { printf("ERROR @ %s(): ", __func__); printf(fmt, ##args); } while (0) +#ifdef CONFIG_CMD_NET static int dev_valid_net(void *cookie) { @@ -85,3 +86,32 @@ int dev_read_net(void *cookie, void *buf, int len) return eth_receive(buf, len); } + +#else + +int dev_open_net(void *cookie) +{ + return API_ENODEV; +} + +int dev_close_net(void *cookie) +{ + return API_ENODEV; +} + +int dev_enum_net(struct device_info *di) +{ + return 0; +} + +int dev_write_net(void *cookie, void *buf, int len) +{ + return API_ENODEV; +} + +int dev_read_net(void *cookie, void *buf, int len) +{ + return API_ENODEV; +} + +#endif -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [U-Boot,1/2] api: fix build without CMD_NET support 2014-08-09 22:30 ` [U-Boot] [PATCH 1/2] api: fix build without CMD_NET support Jeroen Hofstee @ 2014-08-23 12:42 ` Tom Rini 0 siblings, 0 replies; 6+ messages in thread From: Tom Rini @ 2014-08-23 12:42 UTC (permalink / raw) To: u-boot On Sun, Aug 10, 2014 at 12:30:55AM +0200, Jeroen Hofstee wrote: > Provide stubs in case that no NET interface is supported. > > Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140823/ead38a70/attachment.pgp> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API 2014-08-09 22:30 [U-Boot] Add CONFIG_API to config_distribution Jeroen Hofstee 2014-08-09 22:30 ` [U-Boot] [PATCH 1/2] api: fix build without CMD_NET support Jeroen Hofstee @ 2014-08-09 22:30 ` Jeroen Hofstee 2014-08-23 17:47 ` Tom Rini 1 sibling, 1 reply; 6+ messages in thread From: Jeroen Hofstee @ 2014-08-09 22:30 UTC (permalink / raw) To: u-boot Grub, FreeBSD ubldr, vxworks etc depend on the API Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> --- include/config_distro_defaults.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/config_distro_defaults.h b/include/config_distro_defaults.h index 5d18a4b..b4f6f3c 100644 --- a/include/config_distro_defaults.h +++ b/include/config_distro_defaults.h @@ -53,4 +53,8 @@ #define CONFIG_SUPPORT_RAW_INITRD #define CONFIG_SYS_HUSH_PARSER +/* Grub, FreeBSD ubldr, vxworks etc depend on the API */ +#define CONFIG_API +#define CONFIG_SYS_MMC_MAX_DEVICE 4 + #endif /* _CONFIG_CMD_DISTRO_DEFAULTS_H */ -- 1.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API 2014-08-09 22:30 ` [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API Jeroen Hofstee @ 2014-08-23 17:47 ` Tom Rini 2014-09-20 20:02 ` Jeroen Hofstee 0 siblings, 1 reply; 6+ messages in thread From: Tom Rini @ 2014-08-23 17:47 UTC (permalink / raw) To: u-boot On Sun, Aug 10, 2014 at 12:30:56AM +0200, Jeroen Hofstee wrote: > Grub, FreeBSD ubldr, vxworks etc depend on the API > > Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> So I'm not 100% sold on this. A while back (it's in the archives) we had said no to CONFIG_API. Grub wasn't a good use-case (esp since we're handling extlinux.conf files), VxWorks is bootm/bootelf. I am open to hearing how/why we need this for ubldr. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140823/6188a4f8/attachment.pgp> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API 2014-08-23 17:47 ` Tom Rini @ 2014-09-20 20:02 ` Jeroen Hofstee 0 siblings, 0 replies; 6+ messages in thread From: Jeroen Hofstee @ 2014-09-20 20:02 UTC (permalink / raw) To: u-boot Hello Tom, On 23-08-14 19:47, Tom Rini wrote: > On Sun, Aug 10, 2014 at 12:30:56AM +0200, Jeroen Hofstee wrote: > >> Grub, FreeBSD ubldr, vxworks etc depend on the API >> >> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> ok, lets start with I hope what I hope config_distro_defaults is. At the moment, if you buy a demo board and try to run a custom image on it, chances are big it won't boot. Either because it searches for a wrong file, commands are not supported, they have different syntax, different image formats etc. It is not uncommon that I need to update u-boot before I can run a simple custom image. It would of course be a lot better if you can stick an image in a demo board, which actually boots and even better optionally ask you what to boot. And I am in the impression / hope config_distro_defaults is for that purpose. Not the smallest / fastest u-boot, but one which can actually boot different distro's, images, demos etc. (or at least an attempt to do so). For completeness, this already holds for linux distro's / images / buildtools. The typical bootpath for FreeBSD images is: [something] -> loader[1] -> FreeBSD In case of u-boot "something" is u-boot and loader is ubldr (which is loader to talk with u-boot by its API). It would be nice if this just worked without modifying u-boot, as the image might be in nand etc. > So I'm not 100% sold on this. A while back (it's in the archives) we > had said no to CONFIG_API. Grub wasn't a good use-case I couldn't find a good reason why grub is not an use-case. (besides some complaining and no-funding) > (esp since we're handling extlinux.conf files), I am still in the dark with respect to extlinux.conf. There is no documentation nor users for it in u-boot it seems. But even if an FreeBSD boot would use a FreeBSD.conf or similiar it would still need CONFIG_API to work correctly. > VxWorks is bootm/bootelf. grep said: /* Boot FreeBSD/vxWorks from an ELF image */ #if defined(CONFIG_ZYNQ_BOOT_FREEBSD) # define CONFIG_API # define CONFIG_CMD_ELF # define CONFIG_SYS_MMC_MAX_DEVICE 1 #endif hence I assumed it needs the api as well. > > I am open to hearing how/why we need this for ubldr. > ublr depends on a u-boot with CONFIG_API enabled. It won't work otherwise. [2] contains some background about the boot process from u-boot. Regards, Jeroen [1] https://www.freebsd.org/cgi/man.cgi?loader(8) [2] http://www.bsdcan.org/2008/schedule/attachments/49_2008_uboot_freebsd.pdf ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-09-20 20:02 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-08-09 22:30 [U-Boot] Add CONFIG_API to config_distribution Jeroen Hofstee 2014-08-09 22:30 ` [U-Boot] [PATCH 1/2] api: fix build without CMD_NET support Jeroen Hofstee 2014-08-23 12:42 ` [U-Boot] [U-Boot,1/2] " Tom Rini 2014-08-09 22:30 ` [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API Jeroen Hofstee 2014-08-23 17:47 ` Tom Rini 2014-09-20 20:02 ` Jeroen Hofstee
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox