forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch documents the interface exposed by the 'efivars' module. Signed-off-by: Mike Waychison <[email protected]> Cc: Matt Domsch <[email protected]>, Signed-off-by: Greg Kroah-Hartman <[email protected]>
- Loading branch information
Showing
1 changed file
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
What: /sys/firmware/efi/vars | ||
Date: April 2004 | ||
Contact: Matt Domsch <[email protected]> | ||
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. |