path: root/arch/x86/include/asm/efi.h
diff options
authorMatthew Garrett <matthew.garrett@nebula.com>2013-04-15 13:09:46 -0700
committerMatt Fleming <matt.fleming@intel.com>2013-04-15 21:31:09 +0100
commitcc5a080c5d40c36089bb08a8a16fa3fc7047fe0f (patch)
treebd3160fc5b3ce71036d5e218ecd5e3dbf1632d02 /arch/x86/include/asm/efi.h
parent0635eb8a54cf0fea64b174bb68bc36b9c3d622db (diff)
efi: Pass boot services variable info to runtime code
EFI variables can be flagged as being accessible only within boot services. This makes it awkward for us to figure out how much space they use at runtime. In theory we could figure this out by simply comparing the results from QueryVariableInfo() to the space used by all of our variables, but that fails if the platform doesn't garbage collect on every boot. Thankfully, calling QueryVariableInfo() while still inside boot services gives a more reliable answer. This patch passes that information from the EFI boot stub up to the efi platform code. Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'arch/x86/include/asm/efi.h')
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
index 60c89f30c72..2fb5d5884e2 100644
--- a/arch/x86/include/asm/efi.h
+++ b/arch/x86/include/asm/efi.h
@@ -102,6 +102,13 @@ extern void efi_call_phys_epilog(void);
extern void efi_unmap_memmap(void);
extern void efi_memory_uc(u64 addr, unsigned long size);
+struct efi_var_bootdata {
+ struct setup_data data;
+ u64 store_size;
+ u64 remaining_size;
+ u64 max_var_size;
static inline bool efi_is_native(void)