linux/Documentation/ABI/testing/sysfs-firmware-efi-esrt
Peter Jones 0bb549052d efi: Add esrt support
Add sysfs files for the EFI System Resource Table (ESRT) under
/sys/firmware/efi/esrt and for each EFI System Resource Entry under
entries/ as a subdir.

The EFI System Resource Table (ESRT) provides a read-only catalog of
system components for which the system accepts firmware upgrades via
UEFI's "Capsule Update" feature.  This module allows userland utilities
to evaluate what firmware updates can be applied to this system, and
potentially arrange for those updates to occur.

The ESRT is described as part of the UEFI specification, in version 2.5
which should be available from http://uefi.org/specifications in early
2015.  If you're a member of the UEFI Forum, information about its
addition to the standard is available as UEFI Mantis 1090.

For some hardware platforms, additional restrictions may be found at
http://msdn.microsoft.com/en-us/library/windows/hardware/jj128256.aspx ,
and additional documentation may be found at
http://download.microsoft.com/download/5/F/5/5F5D16CD-2530-4289-8019-94C6A20BED3C/windows-uefi-firmware-update-platform.docx
.

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2015-04-30 22:15:04 +01:00

82 lines
2.8 KiB
Plaintext

What: /sys/firmware/efi/esrt/
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: Provides userland access to read the EFI System Resource Table
(ESRT), a catalog of firmware for which can be updated with
the UEFI UpdateCapsule mechanism described in section 7.5 of
the UEFI Standard.
Users: fwupdate - https://github.com/rhinstaller/fwupdate
What: /sys/firmware/efi/esrt/fw_resource_count
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: The number of entries in the ESRT
What: /sys/firmware/efi/esrt/fw_resource_count_max
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: The maximum number of entries that /could/ be registered
in the allocation the table is currently in. This is
really only useful to the system firmware itself.
What: /sys/firmware/efi/esrt/fw_resource_version
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: The version of the ESRT structure provided by the firmware.
What: /sys/firmware/efi/esrt/entries/entry$N/
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: Each ESRT entry is identified by a GUID, and each gets a
subdirectory under entries/ .
example: /sys/firmware/efi/esrt/entries/entry0/
What: /sys/firmware/efi/esrt/entries/entry$N/fw_type
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: What kind of firmware entry this is:
0 - Unknown
1 - System Firmware
2 - Device Firmware
3 - UEFI Driver
What: /sys/firmware/efi/esrt/entries/entry$N/fw_class
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: This is the entry's guid, and will match the directory name.
What: /sys/firmware/efi/esrt/entries/entry$N/fw_version
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: The version of the firmware currently installed. This is a
32-bit unsigned integer.
What: /sys/firmware/efi/esrt/entries/entry$N/lowest_supported_fw_version
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: The lowest version of the firmware that can be installed.
What: /sys/firmware/efi/esrt/entries/entry$N/capsule_flags
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: Flags that must be passed to UpdateCapsule()
What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_version
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: The last firmware version for which an update was attempted.
What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_status
Date: February 2015
Contact: Peter Jones <pjones@redhat.com>
Description: The result of the last firmware update attempt for the
firmware resource entry.
0 - Success
1 - Insufficient resources
2 - Incorrect version
3 - Invalid format
4 - Authentication error
5 - AC power event
6 - Battery power event