0% found this document useful (0 votes)
76 views26 pages

Introduction & Update: UEFI Spring Plugfest - May 8-10, 2012 Andrew N. Sloss (ARM)

This document summarizes an introductory presentation on UEFI for ARM given at a UEFI plugfest. It provides background on UEFI and its adoption for ARM platforms, terminology used in UEFI and ARM, the current status of UEFI implementations for ARM, the SCT testing framework, growing UEFI ecosystem for ARM, and tips for developing UEFI drivers and getting started with UEFI on ARM boards.

Uploaded by

Rajesh ravi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views26 pages

Introduction & Update: UEFI Spring Plugfest - May 8-10, 2012 Andrew N. Sloss (ARM)

This document summarizes an introductory presentation on UEFI for ARM given at a UEFI plugfest. It provides background on UEFI and its adoption for ARM platforms, terminology used in UEFI and ARM, the current status of UEFI implementations for ARM, the SCT testing framework, growing UEFI ecosystem for ARM, and tips for developing UEFI drivers and getting started with UEFI on ARM boards.

Uploaded by

Rajesh ravi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

presented by

Introduction & Update

UEFI Spring Plugfest – May 8-10, 2012


Andrew N. Sloss (ARM)

Updated 2011-06-01
UEFI Plugfest – May 2012 www.uefi.org 1
Agenda
• background
• terminology
• status
• sct
• eco-system
• hints and tips

UEFI Plugfest – May 2012 www.uefi.org 2


.background

UEFI Plugfest – February 2012 www.uefi.org 3


Facts
• Processors shipped in 2012
– 7.9 Bu (4 Bu in 2009, 6 Bu in 2010)
• Processors shipped in total
– 30+ Bu
• Processor licenses
– 850+
• Semiconductor partners
– 290+
• Process technology
– 20nm – 250 nm
• Connected community members
– 950+
Connected Community 950+
.terminology

UEFI Plugfest – February 2012 www.uefi.org 6


Terminology
Architecture Processor Micro- Processor Hard-Macro
“ARMv7A” Architecture Implementation
“Cortex-A15”
.status

UEFI Plugfest – February 2012 www.uefi.org 8


Introducing UEFI on ARM
• Driving forces for UEFI on ARM
– Processor and system complexity increasing
– Support for existing OEMs that are developing ARM processor-based
solutions using UEFI
– Help standardize the boot procedure for ARM processor-based
platforms
– On-going ARM goal is to improve the hardware-software interface for
Operating Systems that target the ARM architecture
• Advantages to ARM partners and OEMs
– Write once per platform and saves costs in boot loader
development/engineering
– UEFI specification written down and peer reviewed
– Tested UEFI drivers available from 3rd party peripherals providers
– Provides an environment for manufacturing test

UEFI Plugfest – February


www.uefi.org 9
2012
Introducing UEFI on ARM
• UEFI ARM Binding Sub-Team (ABST) was formed in 2008
– Apple, ARM, HP & Microsoft are the current public members
– UEFI Specification focuses on ARMv4 to ARMv7A
– ABST is starting to work on virtualization and ARMv8 (Aarch64) bindings

• Specification 2.3.1 released - includes the ARM Bindings


– Specifies the state of the processor & system post UEFI initialization
– Defines the Runtime & Pre-Boot Services ABI (post boot services)

• Verification Tests
– Oct’11 SCT 2.3 have been updated to support ARM

• ARM-UEFI supported commercially

UEFI Plugfest – February


www.uefi.org 10
2012
Public Implementations
• Tianocore EDK2 project contains ARM platform support
• ARM Holdings now maintain the ARM packages
– Since February 2011
– With contributions from Apple, HP, Linaro, etc...
– ArmPkg - Architectural and standard ARM peripheral support
– ArmPlatformPkg - ARM standard development board support
– Plus some other ARM related packages
• Future ARM development board support provided by
Linaro
– Specifically by the Linaro ARM Landing Team
• Linaro can potentially support boards for other member
companies
– Would be supported by their Landing Team
ARM Platform Status - EDK2

• ARM Hardware Platforms


– BeagleBoardPkg (OMAP3530 SoC – Cortex A8)
– ArmPlatformPkg/ArmVExpressPkg (ARM Versatile Express Board)
• Cortex A9x4
• ARM Fast Model Support
– ArmPlatformPkg/ArmRealViewEbPkg (ARM RealView Emulation
Board)
• Cortex A8 & Cortex A9x2)
– ArmPlatformPkg/ArmVExpressPkg
• Cortex A9 MPCore and A15 MPCore
ARM Platform Status - Other
• Other ARM-based Platforms exist outside of the
EDK2 repository
• ARM Development Platforms
– ArmPlatformPkg/ArmVExpressPkg
• Cortex A5
• Cortex A15x2 (Limited Hardware Availability)
– ArmPlatformPkg/ArmTuscanPkg
• Cortex A9x2
• PCI Bus with SATA and USB 2.0 controllers
• Other Platforms
– SamsungPlatformPkg/OrigenBoardPkg
• Based on Cortex A9x2
.sct

UEFI Plugfest – February 2012 www.uefi.org 14


ARM UEFI SCT Implementation
• Initial port was completed in August 2010
• ARM Holdings own ARM UEFI SCT implementation
– Initially only available as a patch from UTWG documents area
– Now integrated with main SCT package and available in UEFI
member documents area
• http://www.uefi.org/kws/documents/UEFI_SCT_for_Winter_Plugfest_2012.zip
NOTE: Replace this URL with new one if UTWG releases another version of SCT before taipei plugfest.

• Builds in both Windows and Linux environments


– Primary toolchain is ARM CC (formerly RVCT)
– ARM GCC also supported
• ARM SCT binary is tested on Beagleboard and ARM
Versatile Express Platforms
• Can extend SCT build framework to write platform specific
unit test cases
.eco-system

UEFI Plugfest – February 2012 www.uefi.org 16


Growing Eco-system

UEFI Plugfest – February


www.uefi.org 17
2012
.hints & tips

UEFI Plugfest – February 2012 www.uefi.org 18


Hints & Tips (1)
• When writing a UEFI driver ensure you are not making the
assumption you are running on a ARM Platform !
– Risks are that your driver could not work on another platform
even if it is a ARM-based platform (e.g.: different memory map
or architectural controllers)
– Benefit is you can reuse and test your driver on a wider range of
devices

– Hint 1: UEFI Specification provides methods to access


architectural components
– Hint 2: Avoid making your UEFI driver dependent on EDK2
Libraries
Hints & Tips (2) – Use cases
• Architectural Timer: On ARMv7, it exists at least two
different timers ( ... and actually many exist!)
– ARM SP804 DualTimer: Memory mapped controller
– ARM Architectural Timer (used in the latest ARM Application
Processors)
– The solution is ...
use UEFI Boot Services (see section 6 of the UEFI Spec)

• Cache Management: difficult for engineers working on


ARM architecture (compare to other architectures)
– The solution is ...
stick with the UEFI Specification and use the Boot Services function
AllocatePages() (see section 6 of the UEFI Spec)
Getting started
• Recommend obtaining a Cortex A8 development
board
– Available from http://beagleboard.org
• Recommend getting a copy of “Beyond the BIOS”
– Available from Amazon
http://www.amazon.com/Beyond-BIOS-Implementing-
Extensible-Interface/dp/0974364908
• UEFI Learning Center
– http://www.uefi.org/learning_center/
• Intel UEFI Information
– http://software.intel.com/en-us/articles/about-uefi/

UEFI Plugfest – February


www.uefi.org 21
2012
Getting started
• Source tree can be found on SourceForge
– EDK2 Source Tree
• http://sourceforge.net/apps/mediawiki/tianocore/index.php?title
=EDK2
– BeagleBoard UEFI wiki
• https://sourceforge.net/apps/mediawiki/tianocore/index.php?title
=BeagleBoardPkg
– Samsung Platform wiki
• http://sourceforge.net/apps/mediawiki/tianocore/index.php?title
=SamsungPlatformPkg
• Linaro (Boot Architecture)
– https://wiki.linaro.org/OfficeofCTO/BootArchitecture
• Linaro (ARM Landing Team)
– http://www.linaro.org/members/arm/ve_12.03#tab3
UEFI Plugfest – February
www.uefi.org 22
2012
.summary

UEFI Plugfest – February 2012 www.uefi.org 23


Summary
• UEFI brings a neutral boot loader capable of booting both
open-source and non-open source Operating Systems
• BSD-like license allows for security and specialized code to
be hidden and not released
• UEFI is a framework that grows and shrinks depending
upon requirements
• Specification written down and peer-reviewed
• Lots of validated software already written for the PC
industry e.g. PCI probing
• Ability to support a 3rd party peripheral eco-system
• Write-once, validate-once, support all OSes

UEFI Plugfest – February


www.uefi.org 24
2012
Questions?

UEFI Plugfest – February 2012 www.uefi.org 25


Thanks for attending the
UEFI Spring Plugfest 2012

For more information on


the Unified EFI Forum and
UEFI Specifications, visit
http://www.uefi.org
presented by

UEFI Plugfest – May 2012 www.uefi.org 26

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy