1 What: /sys/firmware/efi/vars
3 Contact: Matt Domsch <Matt_Domsch@dell.com>
5 This directory exposes interfaces for interactive with
6 EFI variables. For more information on EFI variables,
7 see 'Variable Services' in the UEFI specification
8 (section 7.2 in specification version 2.3 Errata D).
10 In summary, EFI variables are named, and are classified
11 into separate namespaces through the use of a vendor
12 GUID. They also have an arbitrary binary value
15 The efivars module enumerates these variables and
16 creates a separate directory for each one found. Each
17 directory has a name of the form "<key>-<vendor guid>"
18 and contains the following files:
20 =============== ========================================
21 attributes: A read-only text file enumerating the
22 EFI variable flags. Potential values
25 EFI_VARIABLE_NON_VOLATILE
26 EFI_VARIABLE_BOOTSERVICE_ACCESS
27 EFI_VARIABLE_RUNTIME_ACCESS
28 EFI_VARIABLE_HARDWARE_ERROR_RECORD
29 EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
31 See the EFI documentation for an
32 explanation of each of these variables.
34 data: A read-only binary file that can be read
35 to attain the value of the EFI variable
37 guid: The vendor GUID of the variable. This
38 should always match the GUID in the
41 raw_var: A binary file that can be read to obtain
42 a structure that contains everything
43 there is to know about the variable.
44 For structure definition see "struct
45 efi_variable" in the kernel sources.
47 This file can also be written to in
48 order to update the value of a variable.
49 For this to work however, all fields of
50 the "struct efi_variable" passed must
51 match byte for byte with the structure
52 read out of the file, save for the value
55 **Note** the efi_variable structure
56 read/written with this file contains a
57 'long' type that may change widths
58 depending on your underlying
61 size: As ASCII representation of the size of
63 =============== ========================================
66 In addition, two other magic binary files are provided
67 in the top-level directory and are used for adding and
70 =============== ========================================
71 new_var: Takes a "struct efi_variable" and
72 instructs the EFI firmware to create a
75 del_var: Takes a "struct efi_variable" and
76 instructs the EFI firmware to remove any
77 variable that has a matching vendor GUID
78 and variable key name.
79 =============== ========================================