Architectures/ARM/Secret Decoder Ring

From FedoraProject

< Architectures | ARM
Revision as of 20:07, 28 March 2013 by Pwhalen (Talk | contribs)

Jump to: navigation, search


Secret Decoder Ring





Why ARM?

  • Low Power Consumption / Better efficiencies
  • Readily available from multiple vendors
  • Low cost

Why does Fedora care about ARM?

  • Emerging technology (as a general purpose computing platform)
  • Growing user base

Understanding ARM

  • The history of the ARM architecture - here
  • Different ARM cores - here

Software floating point vs. Hardware floating point

Fedora currently offers two flavours of ARM - 'arm(sfp)' and 'armhfp'. This is a reference to whether floating point values are passed to functions via CPU registers (sfp) or FPU registers (hfp); note that both API variants can use the FPU to perform arithmetic.

Here is the background: In older ARM chips (prior to ARM v7 "Application Profile"), the floating point unit (FPU, typically a vector floating point unit or "VFP") was optional. Therefore, function arguments were passed in the CPU registers or on the stack. However, when an FPU is available, moving floating-point values from the CPU registers to the FPU registers and back again has a significant cost which negates some of the advantage of having the additional arithmetic hardware. When the FPU became mandatory with ARMv7, it made sense to pass floating-point arguments directly in FPU registers. This is an incompatible ABI change, so programs which pass value in the CPU registers are incompatible with libraries that pass values in the FPU registers (and vice versa).

Currently-Supported ARM Architectures

armv7hl - 32-bit, little-endian, hfp for ARM v7 processors. Supported from F15 onwards.

armv5tel - 32-bit, little-endian, sfp for ARM v5 to v7 processors. Supported until F18 (including F18 updates).

(Community builds: Seneca is building for the armv6hl architecture specifically for the Architectures/ARM/F18/Remixes#Raspberry_Pi Raspberry Pi)

Future ARM Architectures

aarch64 - 64-bit (little-endian and hfp are assumed) for ARMv8+ processors. This is currently being bootstrapped.

ARM Form Factors

Being the most popular architecture in the world, ARM processors can be found in a variety of form factors that include:

  • Tablets/Notebooks (Google Chromebook)
  • Development Boards (Pandaboard, Beagleboard, Trimslice)
  • Hyperscale Server Systems (Calxeda Highbank)

Additional ARM technologies

What is U-Boot


  • Additional information on U-Boot

Why U-Boot?


  • There are many variations of U-Boot which includes - vboot, aboot, hboot.

Generating addresses for kernel/initrd/dtb

Quick Start

What's the quickest way to get Fedora on my device?


Platforms supported by Fedora

For virtualization through QEMU:

Platforms supported by Fedora Remixes


Understanding the Fedora tools





More information on Koji



  • For more information on Bodhi

The Future of Fedora and the ARM Architecture

Promotion to Primary Architecture

ARM is currently considered a Secondary Architecture in Fedora and would greatly benefit from being promoted to a primary architecture, a detailed draft proposal can be found here.

Future Boot Options

  • Grub2

Standards and Engineering Bodies

  • Linaro