bootconfig for v6.3:

- 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEh7BulGwFlgAOi5DV2/sHvwUrPxsFAmP1VUUACgkQ2/sHvwUr
 PxuExQgAslUeGrdn8nAA2qsModVHrXwLl1Xa6797Xzh/xCoIOAQ5AaUkGOlBBpCi
 0UGsiqo5pLfrJ7q1HCTiD4kNpDcK6Kw9UbjClMS2nSf58hK98upUAng+4VlTH3dZ
 difzua1Y0PohBDsLZpV5Ex/K9ZHiPhm44pqkaA+q0gHBfa5AmFuRUD3icEdiHmFu
 B3GX0qdIMeFmUhxt0jmfvsu1Xq8fjF3Lsz/xCeOHcNJYyxzmdttxHYY8pLTWOIoL
 xGL2MmwIYzLRW3/r9E71JNCLgykUWZSBbYhcJ7lIAJadFNbNBFJ0+v5uiyxbZEib
 Xv5UAyTKSIeZIyH0fUZ/4Ufa8sw5Nw==
 =0Nnb
 -----END PGP SIGNATURE-----

Merge tag 'bootconfig-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/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
This commit is contained in:
Linus Torvalds 2023-02-23 14:27:01 -08:00
commit f2b98d0af2
5 changed files with 21 additions and 4 deletions

View file

@ -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
-----------------------------------
@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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