Message ID | 1337643054-17290-1-git-send-email-swarren@wwwdotorg.org |
---|---|
State | Changes Requested |
Delegated to: | Wolfgang Denk |
Headers | show |
Dear Stephen Warren, In message <1337643054-17290-1-git-send-email-swarren@wwwdotorg.org> you wrote: > From: Stephen Warren <swarren@nvidia.com> > > This can be useful for generic scripts. For example, rather than hard- > coding a script to ext2load tegra-harmony.dtb, it could load > ${soc}-${board}.dtb and hence not need adjustments to run on multiple > boards. ... > +echo "#define ARCH \"${arch}\"" >> config.h > +echo "#define CPU \"${cpu}\"" >> config.h > +echo "#define BOARD \"${board}\"" >> config.h Sorry, but names like ARCH and CPU are _way_ too intrusive and likely to clash. Please use something like CONFIG_SYS_ARCH_NAME etc. instead. Best regards, Wolfgang Denk
On 05/22/2012 02:23 AM, Wolfgang Denk wrote: > Dear Stephen Warren, > > In message <1337643054-17290-1-git-send-email-swarren@wwwdotorg.org> you wrote: >> From: Stephen Warren <swarren@nvidia.com> >> >> This can be useful for generic scripts. For example, rather than hard- >> coding a script to ext2load tegra-harmony.dtb, it could load >> ${soc}-${board}.dtb and hence not need adjustments to run on multiple >> boards. > ... > >> +echo "#define ARCH \"${arch}\"" >> config.h >> +echo "#define CPU \"${cpu}\"" >> config.h >> +echo "#define BOARD \"${board}\"" >> config.h > > Sorry, but names like ARCH and CPU are _way_ too intrusive and likely > to clash. Please use something like CONFIG_SYS_ARCH_NAME etc. > instead. OK. Are you OK with the environment variable names? They're also common names like arch, cpu, board, vendor, soc.
Dear Stephen, In message <4FBBBBCC.5020309@wwwdotorg.org> you wrote: > > >> +echo "#define ARCH \"${arch}\"" >> config.h > >> +echo "#define CPU \"${cpu}\"" >> config.h > >> +echo "#define BOARD \"${board}\"" >> config.h > > > > Sorry, but names like ARCH and CPU are _way_ too intrusive and likely > > to clash. Please use something like CONFIG_SYS_ARCH_NAME etc. > > instead. > > OK. Are you OK with the environment variable names? They're also common > names like arch, cpu, board, vendor, soc. We don;t have any rules yet for environment variable names, or name spaces or the like, so I see no problems here. Best regards, Wolfgang Denk
diff --git a/README b/README index 6919392..27221bd 100644 --- a/README +++ b/README @@ -2203,6 +2203,12 @@ The following options need to be configured: the environment like the "source" command or the boot command first. + CONFIG_ENV_VARS_UBOOT_CONFIG + + Define this in order to add variables describing the + U-Boot build configuration to the default environment. + These will be named arch, cpu, board, vendor, and soc. + - DataFlash Support: CONFIG_HAS_DATAFLASH diff --git a/common/env_common.c b/common/env_common.c index c33d22d..81c7395 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -116,6 +116,17 @@ const uchar default_environment[] = { #if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0) "pcidelay=" MK_STR(CONFIG_PCI_BOOTDELAY) "\0" #endif +#ifdef CONFIG_ENV_VARS_UBOOT_CONFIG + "arch=" ARCH "\0" + "cpu=" CPU "\0" + "board=" BOARD "\0" +#ifdef VENDOR + "vendor=" VENDOR "\0" +#endif +#ifdef SOC + "soc=" SOC "\0" +#endif +#endif #ifdef CONFIG_EXTRA_ENV_SETTINGS CONFIG_EXTRA_ENV_SETTINGS #endif diff --git a/common/env_embedded.c b/common/env_embedded.c index 80fb29d..1a63894 100644 --- a/common/env_embedded.c +++ b/common/env_embedded.c @@ -179,6 +179,17 @@ env_t environment __PPCENV__ = { #if defined(CONFIG_PCI_BOOTDELAY) && (CONFIG_PCI_BOOTDELAY > 0) "pcidelay=" MK_STR(CONFIG_PCI_BOOTDELAY) "\0" #endif +#ifdef CONFIG_ENV_VARS_UBOOT_CONFIG + "arch=" ARCH "\0" + "cpu=" CPU "\0" + "board=" BOARD "\0" +#ifdef VENDOR + "vendor=" VENDOR "\0" +#endif +#ifdef SOC + "soc=" SOC "\0" +#endif +#endif #ifdef CONFIG_EXTRA_ENV_SETTINGS CONFIG_EXTRA_ENV_SETTINGS #endif diff --git a/mkconfig b/mkconfig index 438530b..e74ad79 100755 --- a/mkconfig +++ b/mkconfig @@ -161,6 +161,14 @@ for i in ${TARGETS} ; do echo "#define CONFIG_${i}" >>config.h ; done +echo "#define ARCH \"${arch}\"" >> config.h +echo "#define CPU \"${cpu}\"" >> config.h +echo "#define BOARD \"${board}\"" >> config.h + +[ "${vendor}" ] && echo "#define VENDOR \"${vendor}\"" >> config.h + +[ "${soc}" ] && echo "#define SOC \"${soc}\"" >> config.h + cat << EOF >> config.h #define CONFIG_BOARDDIR board/$BOARDDIR #include <config_cmd_defaults.h>