diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-04-22 13:58:01 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-04-22 13:58:01 +0200 |
commit | 9be8a4447103d92843fcfeaad8be42408c90e9a9 (patch) | |
tree | 7e6402269c9cbb98ec8de65a355e5d18b47c44a5 /xen/include/efi | |
parent | 4fdef9a6cabe9810793f80df88d559a22998157b (diff) | |
download | xen-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.h | 4 |
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 |