mbox series

[v1,0/3] x86/boot: Supply boot_param in rdi instead of rsi from startup_64()

Message ID 20250623081458.1243-1-khaliidcaliy@gmail.com
Headers show
Series x86/boot: Supply boot_param in rdi instead of rsi from startup_64() | expand

Message

Khalid Ali June 23, 2025, 8:14 a.m. UTC
From: Khalid Ali <khaliidcaliy@gmail.com>

The current kernel entry point takes one argument which is boot_param
from RSI. The only argument entry point recieves is pointer to
boot_param.

In order to comply with the ABI calling convension the entry point must
recieve the boot_param from RDI instead of RSI. There were no specific
use case used for RDI, so the kernel can safely recieve argument from
that register to better comply with ABI.

This patch makes the kernel to recieve boot_param which is the only
argument it recieves, from RDI instead of RSI. All changes needed for
stability and clarity have being changed.

Changelog:
 * Kernel uncompressed entry point expects boot_param from RDI instead
   of RSI.
 * The decompressor has being adjusted to supply argument from RDI
   instead RSI.
 * libstub has being adjusted to supply argument from RDI instead of RSI.

After throughly tested there were no regression and UDs has being
observed. Looking forward for feedback.

 arch/x86/boot/compressed/head_64.S      | 2 +-
 arch/x86/kernel/head_64.S               | 4 ++--
 drivers/firmware/efi/libstub/x86-stub.c | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)