List of Linux-supported computer architectures

{{short description|None}}

File:Linux-x86-under-qemu.png

The basic components of the Linux family of operating systems, which are based on the Linux kernel, the GNU C Library, BusyBox or forks thereof like μClinux and uClibc, have been programmed with a certain level of abstraction in mind. Also, there are distinct code paths in the assembly language or C source code which support certain hardware. Therefore, the source code can be successfully compiled on{{mdashb}}or cross-compiled for{{mdashb}}a great number of computer architectures.

Furthermore, the required free and open-source software has also been developed to interface between Linux and the hardware Linux is to be executed on. For example, compilers are available, e.g. GNU Compiler Collection (GCC) and LLVM/Clang. For cross-compilation a number of complete toolchains are available, like GNU toolchain, OpenWrt (Buildroot), and OpenEmbedded. The Yocto Project is targeted at embedded use cases.

The portability section of the Linux kernel article contains information and references to technical details.

Note that further components like a windowing system, or programs like Blender, can be present or absent. Fundamentally any software has to be ported, i.e. specifically adapted, to any kind of hardware it is supposed to be executed on. The level of abstraction that has been kept in mind while programming that software in the first place dictates the necessary effort.

The relevant term is of the porting target is computer architecture; it comprises the instruction set(s) and the microarchitecture(s) of the processor(s), at least of the CPU. The target also comprises the "system design" of the entire system, be it a supercomputer, a desktop computer or some SoC, e.g. in case some unique bus is being used. In former times, the memory controller was part of the chipset on the motherboard and not on the CPU-die.

Although the support of a specific instruction set is the task of the compiler, the software must be written with a certain level of abstraction in mind to make this portability possible. Any code written in Assembly language will be specific to the instruction set.

The support of a specific microarchitecture includes optimizations for the CPU cache hierarchy, the TLB, etc.

Releases

{{cleanup section|reason=Links instead of proper references, formatting.|date=April 2018}}

Additional processors (particularly Freescale's 68000 and ColdFire) are supported by the MMU-less μClinux variant.

Formerly supported

= Dropped in 6.7 =

  • Intel IA-64 Itanium, Itanium II (ia64){{Cite web |title=Remove IA-64 architecture support |url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43ff221426d33db909f7159fdf620c3b052e2d1c |website=kernel.org}}{{Cite web |title=ChangeLog-6.7 |url=https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.7 |website=kernel.org}}

= Dropped in 5.19 =

  • Renesas Technology H8 Family{{Cite web|title=[GIT PULL] asm-generic changes for 5.19 - Arnd Bergmann|url=https://lore.kernel.org/lkml/CAK8P3a2_52JPnBWNvTTkFVwLxPAa7=NaQ4whwC1UeH_NYHeUKQ@mail.gmail.com/|website=kernel.org}} (h8300)

= Dropped in 5.18 =

  • Andes Technology NDS32 (nd32)https://www.phoronix.com/news/Andes-Tech-NDS32-Removal

= Dropped in 5.12 =

= Dropped in 5.9 =

  • UniCore32 (unicore32){{Cite web |title=[GIT PULL] remove unicore32 support - Mike Rapoport |url=https://lore.kernel.org/lkml/20200803093939.GA8243@kernel.org/ |website=kernel.org}}

= Dropped in 4.17 =

  • Analog Devices Blackfin (supported since 2.6.22{{Cite web |title='Linux 2.6.22-rc1' - MARC |url=https://marc.info/?l=linux-kernel&m=117902651507441&w=2 |access-date=2024-04-15 |website=marc.info}}{{Cite web |title=Linux 4.17 Spring Cleaning To Drop Some Old CPU Architectures |url=https://www.phoronix.com/news/Linux-4.17-To-Clean-Archs |access-date=2024-04-15 |website=www.phoronix.com |language=en}}) (blackfin)
  • Axis Communications' ETRAX CRIS
  • Fujitsu FR-V (frv)
  • Imagination META{{Cite web |title=Meta Linux Kernel Port [LWN.net] |url=https://lwn.net/Articles/522188/}}
  • S+core (score)
  • Mitsubishi M32R (m32r)
  • Panasonic Corporation MN103 (mn10300)
  • Tilera

= Dropped in 4.12 =

  • Atmel AVR32{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=26202873bb51fafdaa51be3e8de7aab9beb49f70|title = Kernel/Git/Torvalds/Linux.git - Linux kernel source tree}} (avr32)

= Dropped in 3.5 =

= Dropped in 2.6.27 =

See also

References

{{Reflist}}