Hi Simon, 2017-02-07 0:33 GMT+09:00 Simon Glass <[email protected]>: > Hi Masahiro, > > On 29 January 2017 at 18:12, Masahiro Yamada > <[email protected]> wrote: >> This feature is inspired by /proc/config.gz of Linux. In Linux, >> if CONFIG_IKCONFIG is enabled, the ".config" file contents are >> embedded in the kernel image. If CONFIG_IKCONFIG_PROC is also >> enabled, the ".config" contents are exposed to /proc/config.gz. >> Users can do "zcat /proc/config.gz" to check which config options >> are enabled on the running kernel image. >> >> The idea is almost the same here; if CONFIG_CMD_CONFIG is enabled, >> the ".config" contents are compressed and saved in the U-Boot image, >> then printed by the new command "config". >> >> The usage is quite simple. Enable CONFIG_CMD_CONFIG, then run >> > config >> from the command line interface. The ".config" contents will be >> printed on the console. >> >> This feature increases the U-Boot image size by about 4KB (this is >> mostly due to the gzip-compressed .config file). By default, it is >> enabled only for Sandbox because we do not care about the memory >> footprint on it. Of course, this feature is architecture agnostic, >> so you can enable it on any board if the image size increase is >> acceptable for you. >> >> Signed-off-by: Masahiro Yamada <[email protected]> >> --- >> >> Changes in v2: None >> >> Kconfig | 2 ++ >> Makefile | 12 +++++++----- >> cmd/.gitignore | 3 +++ >> cmd/Kconfig | 12 ++++++++++++ >> cmd/Makefile | 22 ++++++++++++++++++++++ >> cmd/config.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ >> scripts/.gitignore | 1 + >> scripts/Kconfig | 2 ++ >> scripts/Makefile | 4 ++++ >> 9 files changed, 97 insertions(+), 5 deletions(-) >> create mode 100644 cmd/.gitignore >> create mode 100644 cmd/config.c >> create mode 100644 scripts/Kconfig > > Reviewed-by: Simon Glass <[email protected]> > > But I wonder why we shouldn't use a mechanism like cmd_dt_S_dtb in > Makefile.lib to embed the file?
I thought of this when I saw the implementation of kernel/configs.c of Linux. My first guess was, they wanted to implement it in an arch-independent way. The cmd_dt_S_dtb mechanism also seems (mostly) arch-independent, but I am not 100% sure. For example, underscore must the added/stripped for conversion between C and assembly for Blackfin architecture. One more reason is, I think, kernel/configs.c was added in older days than the Device Tree. -- Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

