Back to home page

OSCL-LXR

 
 

    


0001 What:           /sys/firmware/efi/vars
0002 Date:           April 2004
0003 Contact:        Matt Domsch <Matt_Domsch@dell.com>
0004 Description:
0005                 This directory exposes interfaces for interactive with
0006                 EFI variables.  For more information on EFI variables,
0007                 see 'Variable Services' in the UEFI specification
0008                 (section 7.2 in specification version 2.3 Errata D).
0009 
0010                 In summary, EFI variables are named, and are classified
0011                 into separate namespaces through the use of a vendor
0012                 GUID.  They also have an arbitrary binary value
0013                 associated with them.
0014 
0015                 The efivars module enumerates these variables and
0016                 creates a separate directory for each one found.  Each
0017                 directory has a name of the form "<key>-<vendor guid>"
0018                 and contains the following files:
0019 
0020                 =============== ========================================
0021                 attributes:     A read-only text file enumerating the
0022                                 EFI variable flags.  Potential values
0023                                 include:
0024 
0025                                 EFI_VARIABLE_NON_VOLATILE
0026                                 EFI_VARIABLE_BOOTSERVICE_ACCESS
0027                                 EFI_VARIABLE_RUNTIME_ACCESS
0028                                 EFI_VARIABLE_HARDWARE_ERROR_RECORD
0029                                 EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
0030 
0031                                 See the EFI documentation for an
0032                                 explanation of each of these variables.
0033 
0034                 data:           A read-only binary file that can be read
0035                                 to attain the value of the EFI variable
0036 
0037                 guid:           The vendor GUID of the variable.  This
0038                                 should always match the GUID in the
0039                                 variable's name.
0040 
0041                 raw_var:        A binary file that can be read to obtain
0042                                 a structure that contains everything
0043                                 there is to know about the variable.
0044                                 For structure definition see "struct
0045                                 efi_variable" in the kernel sources.
0046 
0047                                 This file can also be written to in
0048                                 order to update the value of a variable.
0049                                 For this to work however, all fields of
0050                                 the "struct efi_variable" passed must
0051                                 match byte for byte with the structure
0052                                 read out of the file, save for the value
0053                                 portion.
0054 
0055                                 **Note** the efi_variable structure
0056                                 read/written with this file contains a
0057                                 'long' type that may change widths
0058                                 depending on your underlying
0059                                 architecture.
0060 
0061                 size:           As ASCII representation of the size of
0062                                 the variable's value.
0063                 =============== ========================================
0064 
0065 
0066                 In addition, two other magic binary files are provided
0067                 in the top-level directory and are used for adding and
0068                 removing variables:
0069 
0070                 =============== ========================================
0071                 new_var:        Takes a "struct efi_variable" and
0072                                 instructs the EFI firmware to create a
0073                                 new variable.
0074 
0075                 del_var:        Takes a "struct efi_variable" and
0076                                 instructs the EFI firmware to remove any
0077                                 variable that has a matching vendor GUID
0078                                 and variable key name.
0079                 =============== ========================================