LAS16-200: Firmware summit - Tianocore Progress and Status
Leif Lindholm (ARM/Lina ro)
ENGINEERS AND DEVICES
UEFI A specification of interfaces which need to be provided by firmware and
which portable applications and drivers can be written against.
PI Platform Initialization. A specification also maintained by the UEFI
forum, describing internal interfaces in a firmware implementation.
EDK2 A UEFI/PI implementation maintained as part of the Tianocore project.
Tianocore An opensource project encompassing EDK2 and other related software
Ovmf EDK2 platform port to virtual machines (QEMU, Xen)
● One of the things Iha ve brought up in the pa st is how la ck
of a ny sort of forma llea dership in Tia nocore ha s been
holding ba ck a nd slowing down necessa ry cha nges
○ The migra tion to GIT fina lly ha ppened a t the sta rt of this yea r, but it
took a long, long time to get there
○ The question of how to integra te more open-source device drivers
a nd pla tform support rema ins unsolved (but more la ter)
● As of Ma rch this yea r, Tia nocore now ha s three stewards,
empowered to drive consensus
○ Andrew Fish (Apple)
○ Mike Kinney (Intel)
EDK2 FAT Filesystem Driver
● Wa s a lwa ys non-free softwa re, covered by a different
license tha n the rest of EDK2
○ Ba nning use outside of EDK2
● Apa rt from the ba d PR, this ma de most Linux distributions
una ble to ship Ovmf ima ges a s pa rt of their ma in a rchive
○ And a s a result, most cloud infra structure tools initia lly supported only
○ So surprisingly, some of the initia l ena blement for AArch64 required
work on UEFIsupport (or a t lea st pulling the very la test upstrea m).
● But ba ck in Ma rch/April, Microsoft a greed to relicense
under defa ult (2-cla use BSD)
○ Now a ble to be included directly in ma in repositories
● Since la st Connect, we ha ve a dded support for new
○ AMD Sea ttle
○ Ma rvell
■ Arma da 70x0
● We ha ve a lso published the resurrected Ma rvellYukon
○ And with some help from SoftIron, debugged it a cross a t lea st two
funda menta lly different systems
● But hopefully Iwon’t be ta lking a bout it a t next Connect...
● A mecha nism to forma lly drive cha nge in the project.
Currently live ones a re
○ Reva mp of the EDK2 directory structure
○ Defining the mecha nism by which new pla tform code a nd drivers a re
introduced into EDK2
● Directory structure
○ Pla n is to drop the outda ted “IP silo”modelwith “pa cka ges”(*Pkg)
○ Define some more obvious loca tions to pla ce device drivers under
● Pla tform code
○ Ma in EDK2 repository to conta in only enough pla tform code to
va lida te the core code
○ Sepa ra te pla tforms repository to be set up to hold others
● EFIByteCode - ena bles a rchitecture-independent device
drivers, including option ROMs.
○ AArch64 support implemented by CodeAurora , copyright a ssigned to
the Linux Founda tion.
○ Some fixes a nd improvements by Ard.
● Currently only produced by a Non-Free compiler from Intel
○ Working only under Windows + Visua lStudio
○ And ma ny distributors will try to convince you it does not exist.
○ Ba sed on member interest, we’ve worked with the toolcha in group to
dra ft a pla n for a n LLVM-ba sed a lterna tive.
● Microsoft currently not signing EBC drivers
○ Interested pa rties need to spea k up in the UEFIforum
● The UEFISelf-Certifica tion Testsuite is relea sed
periodica lly by the UEFIforum, but unlike EDK2, it ha s
never tra nsitioned to a n open development model
○ Code a va ila ble on github to registered UEFIforum members
○ Ma in contributors a re Intel(90%)a nd ARM(9%?)
○ Not much in the wa y of public discussion of upcoming cha nges
● Some proposa ls ma de during UEFIPlugfest la st week
○ Crea te a development ma iling list (a ccess restricted for now)
○ Consider brea king out the test fra mework a s a public-a ccess
sepa ra te project from the tests themselves (while investiga ting the
possibility of opening the tests up longer-term)
This Slide Intentionally Left Blank
Alexa nder Gra f keeps improving the bootefi support for U-
Even though the implementa tion lea ves out la rge bits of UEFI
functiona lity, a n a lterna tive codeba se is a very useful toolfor us
to use for va lida tion. And to improve our va lida tion.
Iwa nt to:
● Run the UEFIshell on U-Boot
● Run SCT on U-Boot
And One More Thing...
On 21 September 2016 at 08:09, Matt Fleming <email@example.com> wrote:
> I've asked, and Ard has agreed to step up and help me co-maintain the
> EFI subsystem.
> Given that there are now two maintainers, we're moving to a shared git
> repository on kernel.org, hosted at,
> Expect a MAINTAINERS patch soon.
> I do plan on keeping the existing tree in sync for the time being, so
> it won't actually matter which repository people base their patches
> on. Hopefully the disruption to patch submitters will be minimal.
> Thanks again Ard!
For further informa tion: www.lina ro.org
LAS16 keynotes a nd videos on:connect.lina ro.org