1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

ARM Delivers 64-bit ARMv8 Linux Kernel Support (AArch64)

Linux Kernel

Published on 06 July 2012 06:41 PM EDT
Written by Michael Larabel in Linux Kernel
14 Comments

ARM has today posted their set of patches that implements core Linux kernel support for AArch64, the ARM 64-bit architecture.

Catalin Marinas of ARM posted to the Linux kernel mailing list a set of 36 patches that provides this initial 64-bit ARMv8 architecture support. "ARM introduced AArch64 as part of the ARMv8 architecture and consists of a substantially revised exception model (with 4 exception levels: EL0 - user, EL1 - kernel, EL2 - hypervisor, EL3 - secure monitor), new A64 instruction set based on larger register file, new FP/SIMD instructions. The new ABI is LP64 and takes advantage of the larger register file and mandates FP."

ARM previously published the AArch64 documentation concerning the instruction set and ABI but now it's met by nearly 23,000 lines of new arch/ code for the Linux kernel.

For some additional information from the mailing list announcement:
There is no hardware platform available at this point. From a kernel perspective, the aim is to minimise (or even completely remove) the platform code from the architecture specific directory. FDT is currently mandated and there are ongoing discussions for ACPI support.

In terms of MMU, it currently supports 39-bit address space for user and kernel (each) with 3-level page table and 4KB pages or 2-level page table and 64KB pages (see Documentation/aarch64/memory.txt). The virtual address space can be extended to 48-bit.

Compat (32-bit) user applications (ARM EABI only) are supported with the 4KB page configuration. There is no interworking between AArch32 and AArch64 code (the architecture requires an exception entry/exit to change the mode).

Linux Test Project (LTP) and LAMP stack have been used to test and validate this code against ARM simulation model throughout the development. Compilation requires a new aarch64-none-linux-gnu-toolchain (http://gcc.gnu.org/ml/gcc-patches/2012-05/msg01694.html).
For some additional information about 32-bit ARMv7 compatibility on ARMv8 hardware with the Linux AArch64 kernel, one of the patches mentions:
This patch adds support for 32-bit applications. The vectors page is a binary blob mapped into the application user space at 0xffff0000 (the AArch64 toolchain does not support compilation of AArch32 code). Full compatibility with ARMv7 user space is supported. The use of deprecated ARMv7 functionality (SWP, CP15 barriers) has been disabled by default on AArch64 kernels and unaligned LDM/STM is not supported.
Those wishing to examine the ARMv8 64-bit AArch64 Linux kernel support can find the patches on the kernel mailing list. Assuming the patches are in good shape, the support could be merged for the Linux 3.6 kernel when that merge window is open.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Preview: AMD's FX-9590 Eight-Core At Up To 5.0GHz On Linux
  2. Intel Launches The Core i7 5960X, Mighty Powerful Haswell-E CPUs
  3. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  4. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
Latest Linux Articles
  1. How Intel Graphics On Linux Compare To Open-Source AMD/NVIDIA Drivers
  2. The Fastest NVIDIA GPUs For Open-Source Nouveau With Steam Linux Gaming
  3. Testing For The Latest Linux Kernel Power Regression
  4. The Most Energy Efficient Radeon GPU For AMD Linux Gaming
Latest Linux News
  1. Nouveau X.Org Driver Released With DRI3+Present, Maxwell, GLAMOR
  2. Microsoft & AMD Release C++ AMP Compiler With Linux Support
  3. AMD, Wine & Valve Dominated August For Linux Users
  4. Linux 3.17-rc3 Kernel Released Back On Schedule
  5. Lennart Poettering Talks Up His New Linux Vision That Involves Btrfs
  6. Mesa 10.3 RC2 Arrives Via Its New Release Manager
  7. Ubuntu 14.10's Lack Of X.Org Server 1.16 Gets Blamed On AMD
  8. MSI Motherboard BIOS Updating Remains A Pain For Linux Users
  9. See How Your Linux System Performs Against The Latest Intel/AMD CPUs
  10. AMD Steppe Eagle Flys To Coreboot
Latest Forum Discussions
  1. Lennart Poettering Talks Up His New Linux Vision That Involves Btrfs
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. AMD Releases UVD Video Decode Support For R600 GPUs
  4. SSD seems slow
  5. Is laptop with Intel CPU and AMD dGPU worth buying considering especially AMD Enduro?
  6. Radeon HD5670 and Ubuntu 14.04
  7. Btrfs Gets Talked Up, Googler Encourages You To Try Btrfs
  8. Updated graphics drivers for Ubuntu 12.04 Precise LTS