1What: /sys/firmware/efi/vars 2Date: April 2004 3Contact: Matt Domsch <Matt_Domsch@dell.com> 4Description: 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). 9 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 13 associated with them. 14 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: 19 20 =============== ======================================== 21 attributes: A read-only text file enumerating the 22 EFI variable flags. Potential values 23 include: 24 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 30 31 See the EFI documentation for an 32 explanation of each of these variables. 33 34 data: A read-only binary file that can be read 35 to attain the value of the EFI variable 36 37 guid: The vendor GUID of the variable. This 38 should always match the GUID in the 39 variable's name. 40 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. 46 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 53 portion. 54 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 59 architecture. 60 61 size: As ASCII representation of the size of 62 the variable's value. 63 =============== ======================================== 64 65 66 In addition, two other magic binary files are provided 67 in the top-level directory and are used for adding and 68 removing variables: 69 70 =============== ======================================== 71 new_var: Takes a "struct efi_variable" and 72 instructs the EFI firmware to create a 73 new variable. 74 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 =============== ======================================== 80