Skip to content

Commit

Permalink
Merge tag 'bootconfig-v6.3' of git://git.kernel.org/pub/scm/linux/ker…
Browse files Browse the repository at this point in the history
…nel/git/trace/linux-trace

Pull bootconfig updates from Masami Hiramatsu:

 - Fix ftrace2bconf.sh tool for checking event enable status correctly

 - Add CONFIG_BOOT_CONFIG_FORCE to apply bootconfig without 'bootconfig'
   boot parameter

 - Enable CONFIG_BOOT_CONFIG_FORCE by default if a bootconfig is
   embedded in the kernel

 - Increase max number of nodes of bootconfig to 8192

* tag 'bootconfig-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support
  bootconfig: Default BOOT_CONFIG_FORCE to y if BOOT_CONFIG_EMBED
  Allow forcing unconditional bootconfig processing
  tools/bootconfig: fix single & used for logical condition
  • Loading branch information
Linus Torvalds committed Feb 23, 2023
2 parents fcc77d7 + 6c40624 commit f2b98d0
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 4 deletions.
6 changes: 5 additions & 1 deletion Documentation/admin-guide/bootconfig.rst
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,8 @@ To remove the config from the image, you can use -d option as below::

Then add "bootconfig" on the normal kernel command line to tell the
kernel to look for the bootconfig at the end of the initrd file.
Alternatively, build your kernel with the ``CONFIG_BOOT_CONFIG_FORCE``
Kconfig option selected.

Embedding a Boot Config into Kernel
-----------------------------------
Expand All @@ -217,7 +219,9 @@ path to the bootconfig file from source tree or object tree.
The kernel will embed it as the default bootconfig.

Just as when attaching the bootconfig to the initrd, you need ``bootconfig``
option on the kernel command line to enable the embedded bootconfig.
option on the kernel command line to enable the embedded bootconfig, or,
alternatively, build your kernel with the ``CONFIG_BOOT_CONFIG_FORCE``
Kconfig option selected.

Note that even if you set this option, you can override the embedded
bootconfig by another bootconfig which attached to the initrd.
Expand Down
2 changes: 1 addition & 1 deletion include/linux/bootconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ struct xbc_node {
/* Maximum size of boot config is 32KB - 1 */
#define XBC_DATA_MAX (XBC_VALUE - 1)

#define XBC_NODE_MAX 1024
#define XBC_NODE_MAX 8192
#define XBC_KEYLEN_MAX 256
#define XBC_DEPTH_MAX 16

Expand Down
13 changes: 13 additions & 0 deletions init/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1384,6 +1384,19 @@ config BOOT_CONFIG

If unsure, say Y.

config BOOT_CONFIG_FORCE
bool "Force unconditional bootconfig processing"
depends on BOOT_CONFIG
default y if BOOT_CONFIG_EMBED
help
With this Kconfig option set, BOOT_CONFIG processing is carried
out even when the "bootconfig" kernel-boot parameter is omitted.
In fact, with this Kconfig option set, there is no way to
make the kernel ignore the BOOT_CONFIG-supplied kernel-boot
parameters.

If unsure, say N.

config BOOT_CONFIG_EMBED
bool "Embed bootconfig file in the kernel"
depends on BOOT_CONFIG
Expand Down
2 changes: 1 addition & 1 deletion init/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ static char *extra_init_args;

#ifdef CONFIG_BOOT_CONFIG
/* Is bootconfig on command line? */
static bool bootconfig_found;
static bool bootconfig_found = IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE);
static size_t initargs_offs;
#else
# define bootconfig_found false
Expand Down
2 changes: 1 addition & 1 deletion tools/bootconfig/scripts/ftrace2bconf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ referred_vars() {
}

event_is_enabled() { # enable-file
test -f $1 & grep -q "1" $1
test -f $1 && grep -q "1" $1
}

per_event_options() { # event-dir
Expand Down

0 comments on commit f2b98d0

Please sign in to comment.