LKML Archive on
help / color / mirror / Atom feed
From: Hans de Goede <>
To: Ard Biesheuvel <>,
	"Luis R . Rodriguez" <>,
	Greg Kroah-Hartman <>,
	Thomas Gleixner <>,
	Ingo Molnar <>, "H . Peter Anvin" <>
Cc: Hans de Goede <>,
	Peter Jones <>, Dave Olsthoorn <>,
	Will Deacon <>,
	Andy Lutomirski <>,
	Matt Fleming <>,
	David Howells <>,
	Mimi Zohar <>,
	Josh Triplett <>,,,
	Kalle Valo <>,
	Arend Van Spriel <>,
	Linus Torvalds <>,,,
	Torsten Duwe <>, Kees Cook <>,,,
Subject: [PATCH v4 0/5] efi/firmware/platform-x86: Add EFI embedded fw support
Date: Thu, 26 Apr 2018 14:06:32 +0200	[thread overview]
Message-ID: <> (raw)

Hi All,

Here is v4 of my patch-set to add support for EFI embedded fw to the kernel.

Changes since v3:
-Drop note in docs about EFI_FIRMWARE_VOLUME_PROTOCOL, it is not part of
 UEFI proper, so the EFI maintainers don't want us referring people to it
-Put the new fw_get_efi_embedded_fw() function in its own fallback_efi.c
 file which only gets built when EFI_EMBEDDED_FIRMWARE is selected
-Define an empty stub for fw_get_efi_embedded_fw() in fallback.h hwen
 EFI_EMBEDDED_FIRMWARE is not selected, to avoid the need for #ifdefs
 in firmware_loader/main.c
-Properly call security_kernel_post_read_file() on the firmware returned
 by efi_get_embedded_fw() to make sure that we are allowed to use it

So I think this patch-set is getting close to ready for merging, which
brings us to the question of how to merge this, I think that patches 1
and 2 should probably both be merged through the same tree. Then an
unmutable branch should be created on that tree, merged into the
platform/x86 tree and then the last 3 patches can be merged through
that tree.

For the record, here is the coverletter of v2 of this patchset:

The 3 most prominent changes in v2 are:

1) Add documentation describing the EFI embedded firmware mechanism to:

2) Instead of having a single dmi_system_id array with its driver_data
   members pointing to efi_embedded_fw_desc structs, have the drivers which
   need EFI embedded-fw support export a dmi_system_id array and register
   that with the EFI embedded-fw code

   This series also includes the first driver to use this, in the form of
   the touchscreen_dmi code (formerly silead_dmi) from drivers/platfrom/x86

3) As discussed during the review of v1 we want to make the firmware_loader
   code fallback to EFI embedded-fw optional.  Rather the adding yet another
   firmware_request_foo variant for this, with the risk of later also needing
   firmware_request_foo_nowait, etc. variants I've decided to make the code
   check if the device has a "efi-embedded-firmware" device-property bool set.

   This also seemed better because the same driver may want to use the
   fallback on some systems, but not on others since e.g. not all (x86)
   systems with a silead touchscreen have their touchscreen firmware embedded
   in their EFI.

   Note that (as discussed) when the EFI fallback path is requested, the
   usermodehelper fallback path is skipped.

Here is the full changelog of patch 2/5 which is where most of the changes are:

Changes in v2:
-Rebased on driver-core/driver-core-next
-Add documentation describing the EFI embedded firmware mechanism to:
-Add a new EFI_EMBEDDED_FIRMWARE Kconfig bool and only build the embedded
 fw support if this is set. This is an invisible option which should be
 selected by drivers which need this
-Remove the efi_embedded_fw_desc and dmi_system_id-s for known devices
 from the efi-embedded-fw code, instead drivers using this are expected to
 export a dmi_system_id array, with each entries' driver_data pointing to a
 efi_embedded_fw_desc struct and register this with the efi-embedded-fw code
-Use kmemdup to make a copy instead of efi_mem_reserve()-ing the firmware,
 this avoids us messing with the EFI memmap and avoids the need to make
 changes to efi_mem_desc_lookup()
-Make the firmware-loader code only fallback to efi_get_embedded_fw() if the
 passed in device has the "efi-embedded-firmware" device-property bool set
-Skip usermodehelper fallback when "efi-embedded-firmware" device-property
 is set

Patches 3-5 are new and implement using the EFI embedded-fw mechanism for
Silead gslXXXX and Chipone icn8505 touchscreens on x86 devices.



             reply	other threads:[~2018-04-26 12:06 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-26 12:06 Hans de Goede [this message]
2018-04-26 12:06 ` [PATCH v4 1/5] efi: Export boot-services code and data as debugfs-blobs Hans de Goede
2018-04-26 16:51   ` Ard Biesheuvel
2018-04-26 21:02     ` Hans de Goede
2018-04-26 21:35       ` Ard Biesheuvel
2018-04-27  8:13         ` Hans de Goede
2018-04-27  8:24           ` Ard Biesheuvel
2018-04-26 12:06 ` [PATCH v4 2/5] efi: Add embedded peripheral firmware support Hans de Goede
2018-04-26 12:06 ` [PATCH v4 3/5] platform/x86: Rename silead_dmi to touchscreen_dmi Hans de Goede
2018-04-26 12:06 ` [PATCH v4 4/5] platform/x86: touchscreen_dmi: Add EFI embedded firmware info support Hans de Goede
2018-04-26 12:06 ` [PATCH v4 5/5] platform/x86: touchscreen_dmi: Add info for the Chuwi Vi8 Plus tablet Hans de Goede
2018-04-26 16:53 ` [PATCH v4 0/5] efi/firmware/platform-x86: Add EFI embedded fw support Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
    --subject='Re: [PATCH v4 0/5] efi/firmware/platform-x86: Add EFI embedded fw support' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).