From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0D6B3CF1F9 for ; Tue, 25 Aug 2026 07:30:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787643005; cv=none; b=EQJ3Eec6Qrx1LnJdHv3+2eAYh8Lfyg3p4wy5wrxtngJZzADVvdmN14cIGdjRdsZafVYhzsG6A3k6hvNuNE09xlon6WOACFJAHQ9f3MnnAb/zO1JTWWYr23DXh5/2l7xmSMQzHwjvoyHgaEU0sn0NjJY7Sf2MHMja6EwIKMVcZfY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787643005; c=relaxed/simple; bh=N5RWQxMjy4mgH0YXH5dhXRj8Oqz1ERggbZ90ndMlfRo=; h=Date:From:To:Cc:Subject:Message-Id:Mime-Version:Content-Type; b=SO7X4n+xv2R1j0rH3eaRJpchu1JOhFHGyxWExUtjLBLxchu9zQjmKo1t6pQESyirSOQCx93N8TEd0JkD6aKSrxY7zmYvch0qgJeONf//Nt/VKmK2AfOx4yk4GsTiquZN/B+7v5DFdi0BmXdhmqegj4OCOJPqh3KnwoO7EZjZrVU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Z7Nfdxdw; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Z7Nfdxdw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA8811F000E9; Tue, 25 Aug 2026 07:30:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1787643004; bh=Xc8hpQ2J/e52bVLggUEr2ji4fb/Bes+mxPr6bM6IX8E=; h=Date:From:To:Cc:Subject; b=Z7NfdxdwdTskS6c/O5Nte/ppnh97wkTtGI4LvjCOqJsVrTj/d6ec/jw5x7oW02cZx gQ6cuOSMS7SbwYbEL/07+wkjfNBslsvDlam63Kl3xrnNxY4woZgRN3y4mVVeQw4k9D GYY6JdsGbkl06xCU/deLFg7sf7gn4PxYOWzffIo0cMOrPuS2uvWqdUBcZ8r924dT8X Tu/TjEBRidGN3BEB9XWGDlp7IjNAas6ots7BGX26ax2aSwDr23yYiExxl48ddrtMC6 u8hXuJcs0AwjeUpTCs7Joy1d6YYv2P9NYLBsx5YiFCmHxxkSDtIUcf6YHvutXqxCPW q7W7nqNYk1ahw== Date: Tue, 25 Aug 2026 16:30:00 +0900 From: Masami Hiramatsu (Google) To: Linus Torvalds Cc: Breno Leitao , Steven Rostedt , Masami Hiramatsu , linux-kernel@vger.kernel.org Subject: [GIT PULL] bootconfig: Updates for v7.3 Message-Id: <20260825163000.5c17a63f0127484a11728258@kernel.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi Linus, Sorry for sending this pull request last minutes. This branch missed the last merge window and had been sitting in the for-next branch; I nearly forgot about it. Bootconfig updates for v7.3: - bootconfig: Support build-time command line rendering for embedded bootconfig . bootconfig: render descendant keys when xbc_snprint_cmdline() root has a value. Fix xbc_snprint_cmdline() to render descendant keys when the root has both a value and subkeys, and treats empty subtrees correctly. . bootconfig: render embedded bootconfig as a kernel cmdline at build time. Add build-time pipeline using tools/bootconfig -C to render the embedded bootconfig "kernel" subtree into .init.rodata as a cmdline string. . bootconfig: clean build-time tools/bootconfig from make clean. . bootconfig: add xbc_prepend_embedded_cmdline() helper. Add helper to prepend embedded bootconfig cmdline into boot_command_line early before parse_early_param(). . x86/setup: prepend embedded bootconfig cmdline before parse_early_param. Wire early prepend helper in x86 setup_arch() so early_param handlers see values from the embedded bootconfig. (So this feature is currently x86 only) . bootconfig: skip runtime kernel.* render once prepended early. Avoid duplicating "kernel" keys in setup_boot_config(). . init/main.c: use bootconfig_cmdline_requested() for the runtime opt-in. Refactor setup_boot_config() to share bootconfig_cmdline_requested(). . Documentation: bootconfig: document build-time cmdline rendering. Document CONFIG_CMDLINE_FROM_BOOTCONFIG usage, requirements, and precedence. Please pull the latest bootconfig-v7.3 tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git bootconfig-v7.3 Tag SHA1: b0039fb68cbb6070f5f017a166426f100d42c63a Head SHA1: 85595d3f964825c833fd2597521fcef67c3071de Breno Leitao (8): bootconfig: render descendant keys when xbc_snprint_cmdline() root has a value bootconfig: render embedded bootconfig as a kernel cmdline at build time bootconfig: clean build-time tools/bootconfig from make clean bootconfig: add xbc_prepend_embedded_cmdline() helper Documentation: bootconfig: document build-time cmdline rendering x86/setup: prepend embedded bootconfig cmdline before parse_early_param bootconfig: skip runtime kernel.* render once prepended early init/main.c: use bootconfig_cmdline_requested() for the runtime opt-in ---- Documentation/admin-guide/bootconfig.rst | 81 ++++++++++++++++++ MAINTAINERS | 1 + Makefile | 27 +++++- arch/x86/Kconfig | 1 + arch/x86/kernel/setup.c | 14 +++- include/linux/bootconfig.h | 14 ++++ init/Kconfig | 36 ++++++++ init/main.c | 52 ++++++------ lib/Makefile | 16 ++++ lib/bootconfig.c | 139 ++++++++++++++++++++++++++++++- lib/embedded-cmdline.S | 16 ++++ tools/bootconfig/Makefile | 4 +- 12 files changed, 372 insertions(+), 29 deletions(-) create mode 100644 lib/embedded-cmdline.S -- Masami Hiramatsu (Google)