Linux on UEFI-based ARMv8 Servers

A few weeks ago ASSET attended the UEFI Forum Plugfest, where a number of ARM 64-bit servers were on display. How does ARM play in a UEFI world?

A couple of years ago, the media was abuzz with headlines like “ARM-based servers takes on Intel” and “64-bit ARM architectures dominating Intel in the data center”. It was an exciting time. Analysts’ opinions varied, but some were aggressively predicting that ARM platforms would own 20% of the world’s datacenter footprint by 2020. My colleagues and I got into the act, writing about Will ARM disrupt the server market and Brawny servers versus Wimpy servers.

The torrid excitement did not last, however. At least, the pace does not seem to be anywhere near that aggressive. Intel has continued to dominate the data center, with a solid ecosystem (check out Linus Torvalds’ opinion piece here: Why Linux pioneer Linus Torvalds prefers x86 over ARM), as well as innovative Intel-only features such as 3D XPoint™.

With the server market being the size that it is, though, it will continually be under attack. There are still a lot of flanking strategies underway by everyone from IBM, with its OpenPower platform and relationship with Google; Google itself with its own Tensor Processing Unit (TPU); the Heterogeneous Systems Architecture (HSA) Foundation and its attempt to disaggregate the platform; NVIDIA wanting its mega-multicore GPUs to be deployed ubiquitously for machine learning; and of course ARM with its partnerships with AppliedMicro, Broadcom, Cavium and others. Never one to stand still though, Intel purchased Altera and is bringing the power of FPGA SoCs to the table. It is an exciting time.

With all of this activity, does UEFI have a place? The answer appears to be yes. ARM has published a Server Base Boot Requirements specification that is intended for SBSA-compliant (that is, Server Base System Architecture) 64-bit ARMv8 servers. It defines the base firmware requirements for out-of-box support of any ARM SBSA-compatible operating system or hypervisor. The intent is to use the UEFI and ACPI specifications to ease the adoption of ARM, by aligning the AArch64 server ecosystem to the existing enterprise server market.

So, UEFI does have a place, and it will be with us for a very long time. In fact, at the UEFI Plugfest, I got a sense that there is work underway to adopt it to the IoT: to have it embrace what the UEFI Forum calls the “Third Platform Era”:

  1. x64 Client and Server systems
  2. SBSA/SBBR compliant ARM Servers
  3. The Internet of Things

It will be interesting to see if it gets widespread adoption! I just purchased a Raspberry Pi 3, and would love to have a UEFI distribution to play with on it.

And, of course, the obligatory commercial at the end: once I get UEFI on my Raspberry Pi (which sports a Broadcom four-core ARMv8 64-bit chip!), I can’t wait to hook SourcePoint up for debugging. See what I might be able to do here: UEFI Framework Debugging and Trace accelerates debug analysis in complex Linux systems (note: these both require registration).

DXE debugging graphic