Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfe3eceb authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 EFI updates from Ingo Molnar:
 "EFI changes:

   - Use idiomatic negative error values in efivar_create_sysfs_entry()
     instead of returning '1' to indicate error (Dan Carpenter)

   - Implement new support to expose the EFI System Resource Tables in
     sysfs, which provides information for performing firmware updates
     (Peter Jones)

   - Documentation cleanup in the EFI handover protocol section which
     falsely claimed that 'cmdline_size' needed to be filled out by the
     boot loader (Alex Smith)

   - Align the order of SMBIOS tables in /sys/firmware/efi/systab to
     match the way that we do things for ACPI and add documentation to
     Documentation/ABI (Jean Delvare)"

* 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  efi: Work around ia64 build problem with ESRT driver
  efi: Add 'systab' information to Documentation/ABI
  efi: dmi: List SMBIOS3 table before SMBIOS table
  efi/esrt: Fix some compiler warnings
  x86, doc: Remove cmdline_size from list of fields to be filled in for EFI handover
  efi: Add esrt support
  efi: efivar_create_sysfs_entry() should return negative error codes
parents 5ef6ca4f d4f77435
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -18,3 +18,13 @@ Contact: Dave Young <dyoung@redhat.com>
Description:	It shows the physical address of config table entry in the EFI
		system table.
Users:		Kexec

What:		/sys/firmware/efi/systab
Date:		April 2005
Contact:	linux-efi@vger.kernel.org
Description:	Displays the physical addresses of all EFI Configuration
		Tables found via the EFI System Table. The order in
		which the tables are printed forms an ABI and newer
		versions are always printed first, i.e. ACPI20 comes
		before ACPI.
Users:		dmidecode
+81 −0
Original line number Diff line number Diff line
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
+0 −1
Original line number Diff line number Diff line
@@ -1124,7 +1124,6 @@ The boot loader *must* fill out the following fields in bp,

    o hdr.code32_start
    o hdr.cmd_line_ptr
    o hdr.cmdline_size
    o hdr.ramdisk_image (if applicable)
    o hdr.ramdisk_size  (if applicable)

+2 −0
Original line number Diff line number Diff line
@@ -501,6 +501,8 @@ void __init efi_init(void)

	if (efi_enabled(EFI_DBG))
		print_efi_memmap();

	efi_esrt_init();
}

void __init efi_late_init(void)
+5 −0
Original line number Diff line number Diff line
@@ -18,6 +18,11 @@ config EFI_VARS
	  Subsequent efibootmgr releases may be found at:
	  <http://github.com/vathpela/efibootmgr>

config EFI_ESRT
	bool
	depends on EFI && !IA64
	default y

config EFI_VARS_PSTORE
	tristate "Register efivars backend for pstore"
	depends on EFI_VARS && PSTORE
Loading