Title: Tianocore Progress and Status
A brief update on the progress of ARM64 support in EDK2 and OpenPlatformPkg. Also covering the next steps. Followed by a discussion period.
Speaker: Leif Lindholm
2. ENGINEERS AND DEVICES
WORKING TOGETHER
Glossary
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
components.
Ovmf EDK2 platform port to virtual machines (QEMU, Xen)
3. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Tianocore Governance
● 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)
○ Me
4. ENGINEERS
AND DEVICES
WORKING
TOGETHER
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
Sea BIOS.
○ 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
5. ENGINEERS
AND DEVICES
WORKING
TOGETHER
OpenPlatformPkg
● Since la st Connect, we ha ve a dded support for new
pla tforms
○ AMD Sea ttle
■ Husky/Cello
■ Overdrive
○ Hisilicon
■ D02/D03
○ Ma rvell
■ Arma da 70x0
● We ha ve a lso published the resurrected Ma rvellYukon
Ethernet driver
○ 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...
6. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Proposals
● 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
7. ENGINEERS
AND DEVICES
WORKING
TOGETHER
EBC Support
● 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
8. ENGINEERS
AND DEVICES
WORKING
TOGETHER
SCT
● 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)
10. ENGINEERS
AND DEVICES
WORKING
TOGETHER
Honorary Mention
Alexa nder Gra f keeps improving the bootefi support for U-
Boot.
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
11. ENGINEERS
AND DEVICES
WORKING
TOGETHER
And One More Thing...
On 21 September 2016 at 08:09, Matt Fleming <matt@codeblueprint.co.uk> wrote:
> Folks,
>
> 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,
>
> git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
>
> 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!