diff options
author | Dave Young <dyoung@redhat.com> | 2013-12-20 18:05:46 +0800 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2014-01-21 14:01:28 +0900 |
commit | 9c200a85de2245a850546fded96a1977b84ad24d (patch) | |
tree | 6cee0ea5570ea4eb9aedab009cae7c6086de90b4 /kexec/arch/i386/x86-linux-setup.c | |
parent | fe8a7c2ce02c407bdd7304bd2abfa637e26b6442 (diff) |
Add efi_info in x86 setup header
For supporting efi runtime on kexec kernel we need to
fill the efi_info struct in setup_header. I just get
the info in kernel exported boot_params data in debugfs.
Signed-off-by: Dave Young <dyoung@redhat.com>
Tested-by: Toshi Kani <toshi.kani@hp.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/i386/x86-linux-setup.c')
-rw-r--r-- | kexec/arch/i386/x86-linux-setup.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c index 7b4c65d..38bd9dd 100644 --- a/kexec/arch/i386/x86-linux-setup.c +++ b/kexec/arch/i386/x86-linux-setup.c @@ -480,6 +480,13 @@ void setup_subarch(struct x86_linux_param_header *real_mode) get_bootparam(&real_mode->hardware_subarch, offset, sizeof(uint32_t)); } +static void setup_efi_info(struct x86_linux_param_header *real_mode) +{ + off_t offset = offsetof(typeof(*real_mode), efi_info); + + get_bootparam(&real_mode->efi_info, offset, 32); +} + void setup_linux_system_parameters(struct kexec_info *info, struct x86_linux_param_header *real_mode) { @@ -489,6 +496,8 @@ void setup_linux_system_parameters(struct kexec_info *info, /* get subarch from running kernel */ setup_subarch(real_mode); + if (bzImage_support_efi_boot) + setup_efi_info(real_mode); /* Default screen size */ real_mode->orig_x = 0; |