What: /sys/firmware/efi/vars Date: April 2004 Contact: Matt Domsch <Matt_Domsch@dell.com> Description: This directory exposes interfaces for interactive with EFI variables. For more information on EFI variables, see 'Variable Services' in the UEFI specification (section 7.2 in specification version 2.3 Errata D). In summary, EFI variables are named, and are classified into separate namespaces through the use of a vendor GUID. They also have an arbitrary binary value associated with them. The efivars module enumerates these variables and creates a separate directory for each one found. Each directory has a name of the form "<key>-<vendor guid>" and contains the following files: =============== ======================================== attributes: A read-only text file enumerating the EFI variable flags. Potential values include: EFI_VARIABLE_NON_VOLATILE EFI_VARIABLE_BOOTSERVICE_ACCESS EFI_VARIABLE_RUNTIME_ACCESS EFI_VARIABLE_HARDWARE_ERROR_RECORD EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS See the EFI documentation for an explanation of each of these variables. data: A read-only binary file that can be read to attain the value of the EFI variable guid: The vendor GUID of the variable. This should always match the GUID in the variable's name. raw_var: A binary file that can be read to obtain a structure that contains everything there is to know about the variable. For structure definition see "struct efi_variable" in the kernel sources. This file can also be written to in order to update the value of a variable. For this to work however, all fields of the "struct efi_variable" passed must match byte for byte with the structure read out of the file, save for the value portion. **Note** the efi_variable structure read/written with this file contains a 'long' type that may change widths depending on your underlying architecture. size: As ASCII representation of the size of the variable's value. =============== ======================================== In addition, two other magic binary files are provided in the top-level directory and are used for adding and removing variables: =============== ======================================== new_var: Takes a "struct efi_variable" and instructs the EFI firmware to create a new variable. del_var: Takes a "struct efi_variable" and instructs the EFI firmware to remove any variable that has a matching vendor GUID and variable key name. =============== ========================================