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. Scythe Mugen MAX
  2. Intel Core i7 5960X Haswell-E On Linux
  3. Intel 80GB 530 Series M.2 SSD On Linux
  4. With A New Motherboard, The Core i7 5960X Haswell-E Lights Up
Latest Linux Articles
  1. 7-Way Linux Desktop Gaming Comparison On Ubuntu 14.10
  2. Intel P-State vs. CPUFreq Benchmarks On The i7-5960X
  3. RadeonSI GLAMOR Benchmarks With X.Org Server 1.16
  4. RadeonSI Gallium3D vs. Catalyst At 4K UHD On Linux
Latest Linux News
  1. Mesa 10.3 Released With The Latest Open-Source GPU Driver Improvements
  2. GNOME 3.13.92 Officially Released
  3. Wine 1.7.27 Is Still Working Towards Direct2D Support
  4. Wasteland 2 Officially Launched Today, Including For Linux Gamers
  5. Tropico 5 Launches On Steam For Linux
  6. The Intel Core i7 5960X Continues Running Great On Linux
  7. Geometry Shaders, OpenGL 3.2 Land In Mesa For Intel Sandy Bridge
  8. Wayland & Weston 1.6 Released
  9. Tizen Smartphones Reported To Launch In November
  10. NVIDIA Releases The 343.22 Linux Driver With GTX 980 Support
Latest Forum Discussions
  1. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  2. Stop grabbing my keyboard :(
  3. Can Linux kill a motherboard?
  4. ASRock AM1H-ITX: One Of The Best AM1 Mini-ITX Motherboards
  5. New Group Calls For Boycotting Systemd
  6. Updated and Optimized Ubuntu Free Graphics Drivers
  7. Best Radeon for a Power Mac G5?
  8. New stress testing utility for GPU's