|
@@ -0,0 +1,75 @@
|
|
|
|
+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.
|