summaryrefslogtreecommitdiff
path: root/kexec/arch/i386/x86-linux-setup.h
diff options
context:
space:
mode:
authorKairui Song <kasong@redhat.com>2019-05-24 14:23:19 +0800
committerSimon Horman <horms@verge.net.au>2019-05-31 11:26:04 +0200
commitcedeee0a30075030632a18e419419371ddf3fca3 (patch)
tree7a3e4dcf3deb8aa1cc718d908912d945a39d211f /kexec/arch/i386/x86-linux-setup.h
parent402351390f31b2db0768eef4ced375d00bff9e17 (diff)
x86: Introduce helpers for getting RSDP address
On x86 RSDP is fundamental for booting the machine. When second kernel is incapable of parsing the RSDP address (eg. kexec next kernel on an EFI system with EFI service disabled), kexec should prepare the RSDP address for second kernel. Introduce helpers for getting RSDP from multiple sources, including boot params and EFI firmware. For legacy BIOS interface, there is no better way to find the RSDP address rather than scanning the memory region and search for it, and this will always be done by the kernel as a fallback, so this is no need to try to get the RSDP address for that case. Signed-off-by: Kairui Song <kasong@redhat.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/i386/x86-linux-setup.h')
-rw-r--r--kexec/arch/i386/x86-linux-setup.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/kexec/arch/i386/x86-linux-setup.h b/kexec/arch/i386/x86-linux-setup.h
index f5d23d3..0c651e5 100644
--- a/kexec/arch/i386/x86-linux-setup.h
+++ b/kexec/arch/i386/x86-linux-setup.h
@@ -21,6 +21,7 @@ static inline void setup_linux_bootloader_parameters(
}
void setup_linux_system_parameters(struct kexec_info *info,
struct x86_linux_param_header *real_mode);
+int get_bootparam(void *buf, off_t offset, size_t size);
#define SETUP_BASE 0x90000