aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/efi
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-04-22 13:58:01 +0200
committerJan Beulich <jbeulich@suse.com>2013-04-22 13:58:01 +0200
commit9be8a4447103d92843fcfeaad8be42408c90e9a9 (patch)
tree7e6402269c9cbb98ec8de65a355e5d18b47c44a5 /xen/include/efi
parent4fdef9a6cabe9810793f80df88d559a22998157b (diff)
downloadxen-9be8a4447103d92843fcfeaad8be42408c90e9a9.tar.gz
xen-9be8a4447103d92843fcfeaad8be42408c90e9a9.tar.bz2
xen-9be8a4447103d92843fcfeaad8be42408c90e9a9.zip
x86/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. Based on a similarly named Linux patch by Matthew Garrett <matthew.garrett@nebula.com>. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Diffstat (limited to 'xen/include/efi')
-rw-r--r--xen/include/efi/efiapi.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/include/efi/efiapi.h b/xen/include/efi/efiapi.h
index 7c276cfc63..a616d1238a 100644
--- a/xen/include/efi/efiapi.h
+++ b/xen/include/efi/efiapi.h
@@ -213,6 +213,10 @@ VOID
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
+#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
+#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
+#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
+#define EFI_VARIABLE_APPEND_WRITE 0x00000040
// Variable size limitation
#define EFI_MAXIMUM_VARIABLE_SIZE 1024