aboutsummaryrefslogtreecommitdiff
path: root/include/linux/efi.h
diff options
context:
space:
mode:
authorMark Salter <msalter@redhat.com>2013-12-30 12:12:12 -0500
committerMark Brown <broonie@linaro.org>2014-08-08 19:21:43 +0100
commit5d29ff629d76df88827f7bc3caa82510c2422fa1 (patch)
tree38a172f29d90b2a09569fdf482a0d623a0432b04 /include/linux/efi.h
parentffb248aa56558bcb1492cb2504e721e9a26a9144 (diff)
efi: add helper function to get UEFI params from FDT
ARM and ARM64 architectures use the device tree to pass UEFI parameters from stub to kernel. These parameters are things known to the stub but not discoverable by the kernel after the stub calls ExitBootSerives(). There is a helper function in: drivers/firmware/efi/fdt.c which the stub uses to add the UEFI parameters to the device tree. This patch adds a complimentary helper function which UEFI runtime support may use to retrieve the parameters from the device tree. If an architecture wants to use this helper, it should select CONFIG_EFI_PARAMS_FROM_FDT. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com> (cherry picked from commit 0302f71c0aa59571ac306f93068fbbfe65ea349b) Signed-off-by: Mark Brown <broonie@linaro.org> Conflicts: drivers/firmware/efi/Kconfig Conflicts: drivers/firmware/efi/Kconfig
Diffstat (limited to 'include/linux/efi.h')
-rw-r--r--include/linux/efi.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 0a819e7a60c9..11c1ad2c1982 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -483,6 +483,14 @@ struct efi_memory_map {
unsigned long desc_size;
};
+struct efi_fdt_params {
+ u64 system_table;
+ u64 mmap;
+ u32 mmap_size;
+ u32 desc_size;
+ u32 desc_ver;
+};
+
typedef struct {
u32 revision;
void *parent_handle;
@@ -619,6 +627,7 @@ extern void efi_initialize_iomem_resources(struct resource *code_resource,
extern void efi_get_time(struct timespec *now);
extern int efi_set_rtc_mmss(const struct timespec *now);
extern void efi_reserve_boot_services(void);
+extern int efi_get_fdt_params(struct efi_fdt_params *params, int verbose);
extern struct efi_memory_map memmap;
/**