All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Gerst <brgerst@gmail.com>
To: linux-kernel@vger.kernel.org, x86@kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>, Ard Biesheuvel <ardb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Brian Gerst <brgerst@gmail.com>
Subject: [PATCH 3/5] x86/boot: Remove hardcoded boot_param constants
Date: Thu, 23 Jul 2026 23:02:54 -0400	[thread overview]
Message-ID: <20260724030256.232690-4-brgerst@gmail.com> (raw)
In-Reply-To: <20260724030256.232690-1-brgerst@gmail.com>

Use generated constants or sizeof() instead of hardcoded values.

No functional change.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
---
 arch/x86/include/asm/setup.h            | 3 ---
 arch/x86/kernel/asm-offsets.c           | 2 ++
 arch/x86/kernel/head_32.S               | 4 ++--
 drivers/firmware/efi/libstub/x86-stub.c | 6 +++---
 4 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index 5534f4aaf73b..d23f4272d930 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -21,11 +21,8 @@
 
 #endif /* __i386__ */
 
-#define PARAM_SIZE 4096		/* sizeof(struct boot_params) */
-
 #define OLD_CL_MAGIC		0xA33F
 #define OLD_CL_ADDRESS		0x020	/* Relative to real mode data */
-#define NEW_CL_POINTER		0x228	/* Relative to real mode data */
 
 #ifndef __ASSEMBLER__
 #include <linux/cache.h>
diff --git a/arch/x86/kernel/asm-offsets.c b/arch/x86/kernel/asm-offsets.c
index 081816888f7a..0c49bb50188d 100644
--- a/arch/x86/kernel/asm-offsets.c
+++ b/arch/x86/kernel/asm-offsets.c
@@ -105,6 +105,8 @@ static void __used common(void)
 	OFFSET(BP_kernel_alignment, boot_params, hdr.kernel_alignment);
 	OFFSET(BP_init_size, boot_params, hdr.init_size);
 	OFFSET(BP_pref_address, boot_params, hdr.pref_address);
+	OFFSET(BP_cmd_line_ptr, boot_params, hdr.cmd_line_ptr);
+	DEFINE(SIZEOF_boot_params, sizeof(struct boot_params));
 
 	BLANK();
 	DEFINE(PTREGS_SIZE, sizeof(struct pt_regs));
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 5171cb746444..1f66ccc36fe8 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -96,10 +96,10 @@ SYM_CODE_START(startup_32)
  * page tables.
  */
 	movl $pa(boot_params),%edi
-	movl $(PARAM_SIZE/4),%ecx
+	movl $(SIZEOF_boot_params/4),%ecx
 	cld
 	rep movsl
-	movl pa(boot_params) + NEW_CL_POINTER,%esi
+	movl pa(boot_params) + BP_cmd_line_ptr,%esi
 	andl %esi,%esi
 	jz 1f			# No command line
 	movl $pa(boot_command_line),%edi
diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c
index cef32e2c82d8..c3522d417344 100644
--- a/drivers/firmware/efi/libstub/x86-stub.c
+++ b/drivers/firmware/efi/libstub/x86-stub.c
@@ -520,11 +520,11 @@ static efi_status_t efi_allocate_bootparams(efi_handle_t handle,
 		return status;
 	}
 
-	status = efi_allocate_pages(PARAM_SIZE, &alloc, ULONG_MAX);
+	status = efi_allocate_pages(sizeof(struct boot_params), &alloc, ULONG_MAX);
 	if (status != EFI_SUCCESS)
 		return status;
 
-	boot_params = memset((void *)alloc, 0x0, PARAM_SIZE);
+	boot_params = memset((void *)alloc, 0x0, sizeof(struct boot_params));
 	hdr	    = &boot_params->hdr;
 
 	/* Assign the setup_header fields that the kernel actually cares about */
@@ -537,7 +537,7 @@ static efi_status_t efi_allocate_bootparams(efi_handle_t handle,
 	/* Convert unicode cmdline to ascii */
 	cmdline_ptr = efi_convert_cmdline(image);
 	if (!cmdline_ptr) {
-		efi_free(PARAM_SIZE, alloc);
+		efi_free(sizeof(struct boot_params), alloc);
 		return EFI_OUT_OF_RESOURCES;
 	}
 
-- 
2.55.0


  parent reply	other threads:[~2026-07-24  3:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-24  3:02 [PATCH 0/5] x86/boot: Early boot cleanups Brian Gerst
2026-07-24  3:02 ` [PATCH 1/5] x86/sme: Clear decrypted BSS separately Brian Gerst
2026-07-24  3:02 ` [PATCH 2/5] x86/boot/64: Clear BSS as early as possible Brian Gerst
2026-07-24 11:04   ` Nikolay Borisov
2026-07-24 11:34     ` Brian Gerst
2026-07-24  3:02 ` Brian Gerst [this message]
2026-07-24  3:02 ` [PATCH 4/5] x86/boot/64: Remove copy_bootdata() call Brian Gerst
2026-07-24  3:02 ` [PATCH 5/5] x86/boot/64: Copy boot parameters and command line earlier Brian Gerst

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260724030256.232690-4-brgerst@gmail.com \
    --to=brgerst@gmail.com \
    --cc=ardb@kernel.org \
    --cc=bp@alien8.de \
    --cc=jgross@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.