arm systemready - osfc · 2021. 2. 5. · arm open-source firmware 13 trustedfirmware...

25
SPEAKER Arm SystemReady and the UEFI firmware ecosystem Dong Wei, Arm Samer El-Haj-Mahmoud, Arm

Upload: others

Post on 09-Mar-2021

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

SPEAKERArm SystemReady and the UEFI firmware ecosystem

Dong Wei, Arm

Samer El-Haj-Mahmoud, Arm

Page 2: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Arm SystemReady

2

Page 3: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

3

Cloud edge

E X T E N D T H E S U C C E S S O F A R M S E R V E R R E A D Y

T O E M B E D D E D S E R V E R S A N D I O T

AIoT edge

HW

FW/OS

SDK

App

HW

FW/OS

SDK

App

HW

FW/OS

SDK

App

SiP “A” SiP “B” SiP “C”

Common OSes

App

FW Compliant FW Compliant FW Compliant

HW Compliant HW Compliant HW Compliant

SiP “A” SiP “B” SiP “C”

Vision: “Software Can Just Work on Arm-based Devices”

Arm SystemReady

Page 4: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

From Arm ServerReady

4

Hardware Requirements

SBSA - Server Base System Architecture

• Hardware requirements for generic off-the-shelf OSes

• Arm architecture and standards-based system architecture

Firmware Requirements

SBBR – Server Base Boot Requirements

• Firmware requirements for OSes/Hypervisors such as Microsoft Windows, Red Hat, VMware, Linux, etc..

• Focus on interface requirements, not implementation

Certification Requirements

ACS - Architectural Compliance Suites

• Testing SiP Reference Boards and OEM/ODM Products for SBSA/SBBR compliance

• The test suites are hosted in GitHub and are open source (Apache v2)

Making Arm servers “boring”

https://developer.arm.com/products/architecture/system-architecture/server-system-architecture

Page 5: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

To Arm SystemReady

5

Hardware Requirements

BSA - Base System Architecture

• Documents minimal set of CPU and System architecture necessary for an OS to boot and run. Includes aspects such as PCIe integration etc.

• Add segment-specific xBSA hardware requirements (e.g.SBSA for servers)

Firmware Requirements

BBR –Base Boot Requirements

• Expand to include common firmware interfaces, but recognize that different software stacks will require different recipes

Certification Requirements

ACS - Architectural Compliance Suites

• WIP, Restructured for SystemReady.

• Existing ACS v3.0 used for now, with new versions available in the future

Making all Arm-based infrastructure consistent

https://developer.arm.com/architectures/system-architectures/arm-systemready

Page 6: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Base Boot Requirements (BBR)

6

BBR Interfaces

• PSCI, SMCCC (Common)

• UEFI (for SBBR recipe)

• ACPI (for SBBR recipe)

• Exceptions (if needed)

• SMBIOS

• DeviceTree (reference DT Spec)

BBR Recipes Tailored to Various OSes

SBBR:

• Same requirements as current SBBR spec

• PSCI, SMCCC, UEFI, ACPI, SMBIOS

EBBR

• PSCI, SMCCC, UEFI

LBBR

• PSCI, SMCCC, LinuxBoot, ACPI, SMBIOS

Related Specifications

BBSR (Base Boot Security Requirements)

• Secure Boot and Firmware Update

EBBR (Embedded BBR)

• Community development

• BBR spec refers to EBBR spec as needed

• https://github.com/ARM-software/ebbr

Page 7: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

VerticalVertical Horizontal

Edge Node Cloud &

Datacenters

Custom Linux

System Firmware Landscape

Page 8: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

8

One program, Multiple Bands

https://developer.arm.com/architectures/system-architectures/arm-systemready

Page 9: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

9

One program, Multiple Bands

Page 10: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

10

Page 11: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

ACS for SystemReady SR

ACS v3.0 availableACS for SystemReady ES and IR

Development WIP.

Use ACS v3.0 SBSA Level 3 to certify ES for now

https://github.com/ARM-software/arm-systemready

Architectural Compliance Suite (ACS)

11

Page 12: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Arm Open-Source Firmware

12

Page 13: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Arm open-source firmware

13

• Open-source Secure World firmwareTrustedFirmware

• Open-source UEFI, ACPI, SMBIOS standard system firmwareTianoCore / EDK2

• Open-source embedded systems firmwareU-Boot

• Open-source cloud providers Linux-based firmwareLinuxBoot

• Open-source BMC firmware OpenBMC

• Arm systems support firmware solutions with multiple boot models, and that can be open source OR commercial.

• Arm’s strategy is to encourage partners to provide full open-source firmware implementations, regardless of the boot model

• Open-source firmware options on Arm systems include:

Page 14: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Trusted Firmware• Open Source, Open Governance Community Project, with reference

implementation of Secure World software for Armv7 & Armv8 architectures (A/M-Profiles)

• 30+ platform ports from 16+ vendors, 25+ partners contributing• TF-A is Secure world reference software for all Arm Cortex-A & Neoverse

processors across all market segments.• https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/about/

14

Page 15: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

TianoCore• Open-source community project with implementations of UEFI standards:

UEFI, PI, ACPI, SMBIOS, UEFI Shell, etc.., including Arm SBBR specification • Growing Arm community (maintainers, contributors), with complete and

partial Arm64 platforms, silicon drivers, libraries, and support code• https://github.com/tianocore/edk2• https://github.com/tianocore/edk2-platforms• https://github.com/tianocore/edk2-non-osi• https://github.com/tianocore/edk2-test/tree/master/uefi-sct (test suite)

15

Page 16: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

U-Boot• “Universal Bootloader” open-source firmware, with support for multiple

architectures (including Arm/Arm64)

• Portable, easy to port/debug. Many (100s) boards up-streamed.

• Suitable for embedded / edge devices (predominantly vertically integrated ecosystem)

• UEFI layer implements the Arm EBBR specification, allowing standard OS bootloader (like GRUB) to load and boot a standard OS

• UEFI compliance using UEFI-SCT on Arm64 (WIP)

• https://github.com/u-boot/u-boot

• https://gitlab.denx.de/u-boot/u-boot/blob/master/doc/uefi/uefi.rst

16

Page 17: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

LinuxBoot

• LinuxBoot is an alternative firmware stack (used by hyperscale datacenters) that relies on the Linux kernel as the Normal World firmware component.

• Re-uses existing Linux drivers code (without the need to write DXE/UEFI drivers)

• On Arm servers, LinuxBoot can be loaded directly from TF-A

• https://linuxboot.org/

• https://github.com/linuxboot/linuxboot

• Google/Facebook leading ongoing work to implement UEFI ABI on top of LinuxBoot. Join the discussions on OSFC slack server #efi-boot-support channel: https://join.slack.com/t/osfw/shared_invite/zt-j4oh2vxx-fjFX_J5NpYBelHgjHAjxFQ

17

Page 18: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

OpenBMC

• Open-source BMC firmware stack and sample implementations for servers

• Arm “Server Base Manageability Requirements (SBMR)” Specification standardizes BMC system interfaces for Arm servers, and relies on industry standards such as IPMI and DMTF Redfish, MCTP, PLDM, SPDM: https://developer.arm.com/documentation/den0069/latest

• Arm ecosystem participating in OpenBMC: Arm (member of the TSC), Ampere Computing (upstreaming platform /common Arm support), and expecting more partners in the future

• https://www.openbmc.org/

18

Page 19: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Showcase of Arm SystemReady and open-source firmware

19

Page 20: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Ampere Altra Mt Jade• Arm SystemReady SR v2.0 certified

• Ampere Computing Altra Mt Jade Dual Socket Rack Server

• Choice for evaluating benefit of Arm compute in enterprise

server roles. Cloud native, high performance scalable CPU

• Firmware options both open-source and commercial (AMI)

• UEFI: https://github.com/AmpereComputing/edk2-platforms

• BMC: https://github.com/ampere-openbmc/openbmc(SBMR based)

• LinuxBoot FW: https://github.com/linuxboot/mainboards/tree/master/ampere/jade

• FW upstreaming WIP

20

https://amperecomputing.com/altra/

Page 21: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Raspberry Pi 4 Model B• Arm SystemReady ES v1.0 certified

• Choice for evaluating benefit of Arm in an IoT, edge

gateway, or low-end developer box roles

• Fully open source firmware community project

(leadership from VMware, Arm, Akeo Consulting, etc..)

• UEFI project: https://github.com/pftf

• UEFI upstream: https://github.com/tianocore/edk2-platforms/tree/master/Platform/RaspberryPi

• TF-A upstream: https://github.com/ARM-software/arm-trusted-firmware/blob/master/docs/plat/rpi4.rst

• Discord community: https://discord.gg/VfYbkfp

21

https://rpi4-uefi.dev/

Page 22: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

NXP Layerscape LX 2160A RDB• Arm SystemReady ES v1.0 certified

• Choice for evaluating benefit of Arm in mobile edge compute,

edge gateway, embedded/edge server, NFV, 5G, switching, …

• UEFI upstream: https://github.com/tianocore/edk2-platforms/tree/master/Platform/NXP/LX2160aRdbPkg

• UEFI: https://source.codeaurora.org/external/qoriq/qoriq-components/edk2-platforms/tree/Platform/NXP/LX2160aRdbPkg

• TF-A: https://source.codeaurora.org/external/qoriq/qoriq-components/atf/tree/plat/nxp/soc-lx2160

• FW upstreaming WIP

22

https://www.nxp.com/design/qoriq-developer-

resources/layerscape-lx2160a-reference-design-

board:LX2160A-RDB

Page 23: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Solidrun HoneyComb LX2K• Arm SystemReady ES Certification In Progress

• Based on NXP Layerscape LX2160A

• Choice for evaluating benefit of Arm in a Microserver, Workstation, or Edge gateway role.

• UEFI: https://github.com/SolidRun/edk2-platforms/tree/LX2160_UEFI_ACPI_EAR3-lx2160cex7

• TF-A: https://github.com/SolidRun/arm-trusted-firmware/tree/LX2160_UEFI_ACPI_EAR3-sr

• Build script: https://github.com/SolidRun/lx2160a_uefi

• Discord community: https://discord.gg/VfYbkfp

• FW upstreaming WIP

23

https://www.solid-run.com/nxp-lx2160a-

family/honeycomb-workstation/

Page 24: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

NXP LS1046A FRWY / RDB• Arm SystemReady ES Certification In Progress

• Choice for evaluating benefit of Arm in high performance

IoT, edge gateway, enterprise access point, etc…

• UEFI upstream: https://github.com/tianocore/edk2-platforms/tree/master/Platform/NXP/LS1046aFrwyPkg

• UEFI: https://source.codeaurora.org/external/qoriq/qoriq-components/edk2-platforms/tree/Platform/NXP/LS1046aRdbPkg

• TF-A: https://source.codeaurora.org/external/qoriq/qoriq-components/atf/tree/plat/nxp/soc-ls1046

• FW upstreaming WIP

24

https://www.nxp.com/design/qoriq-developer-

resources/ls1046a-freeway-board:FRWY-LS1046A

Page 25: Arm SystemReady - OSFC · 2021. 2. 5. · Arm open-source firmware 13 TrustedFirmware •Open-source Secure World firmware TianoCore / EDK2 •Open-source UEFI, ACPI, SMBIOS standard

Thank you

25