summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKairui Song <kasong@redhat.com>2019-05-24 14:23:20 +0800
committerSimon Horman <horms@verge.net.au>2019-05-31 11:26:35 +0200
commitb071fc084bdafd4674cd776581cab2bf2b44a004 (patch)
tree4e6a4b74a8e58f3a55091587ff3d36ca5c5d7886
parentcedeee0a30075030632a18e419419371ddf3fca3 (diff)
downloadkexec-tools-b071fc084bdafd4674cd776581cab2bf2b44a004.tar.gz
x86: Always try to fill acpi_rsdp_addr in boot params
Since kernel commit e6e094e053af75 ("x86/acpi, x86/boot: Take RSDP address from boot params if available"), kernel accept an acpi_rsdp_addr param in boot_params. So fill in this parameter unconditionally, ensure second kernel always get the right RSDP address consistently, and boot well on EFI system even with EFI service disabled. User no longer need to change the kernel cmdline to workaround the missing RSDP issue. For older version of kernels (Before 5.0), there won't be any change of behavior. Signed-off-by: Kairui Song <kasong@redhat.com> Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--kexec/arch/i386/x86-linux-setup.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
index da5de975..057ee146 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -909,4 +909,7 @@ void setup_linux_system_parameters(struct kexec_info *info,
/* fill the EDD information */
setup_edd_info(real_mode);
+
+ /* Always try to fill acpi_rsdp_addr */
+ real_mode->acpi_rsdp_addr = get_acpi_rsdp();
}