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.

Latest Linux Hardware Reviews
  1. Overclocking The AMD AM1 Athlon & Sempron APUs
  2. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  3. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
  4. AMD Athlon 5350 APU On Linux
Latest Linux Articles
  1. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  2. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  3. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
  4. GCC 4.9 Compiler Optimization Benchmarks For Faster Binaries
Latest Linux News
  1. Trying Out Radeon R9 290 Graphics On Open-Source
  2. Intel Broadwell GT3 Graphics Have Dual BSD Rings
  3. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  4. Red Hat Releases Its RHEL 7 Release Candidate
  5. New Features Coming To Xubuntu 14.04 LTS
  6. NVIDIA Officially Releases CUDA 6
  7. Google Releases An AutoFDO Converter For Perf In LLVM
  8. Fedora 21 To Evaluate Remote Journal Logging, 64-bit ARM Emulation
  9. Star Citizen Will Be Coming To Linux
  10. Ubuntu 14.10 Convergence To Focus On Replacing Core Apps
  11. The Results Of Optimizing Radeon's VRAM Behavior
  12. Kernel Developers Discuss Improving Kernel Configurations
Latest Forum Discussions
  1. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  2. The GNOME Foundation Is Running Short On Money
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. New tool for undervolt/overclock AMD K8L and K10 processors
  5. How to enable opengl 3.3 on r9 270?
  6. R290x sound problems
  7. radeon-profile: tool for changing profiles and monitoring some GPU parameters
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel