List of Linux-supported computer architectures

From Wikipedia, the free encyclopedia
Boot messages of a Linux kernel 2.6.25.17

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‍—‌or cross-compiled for‍—‌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 or 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 display server, 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[]

  • DEC Alpha (alpha)
  • Analog Devices
  • Andes Technology NDS32 (nds32)[1]
  • ARM family of instruction sets (32- and 64-bit) (arm and arm64):
    • Acorn Archimedes and RiscPC series (original machines were supported in 2.6.22[2])[3]
    • Allwinner
    • Apple M1
    • Broadcom VideoCore
    • DEC StrongARM
    • Samsung Exynos
    • Marvell (formerly Intel) XScale
    • Sharp Zaurus
    • HiSilicon
    • iPAQ
    • Palm, Inc.'s Tungsten Handheld[4]
    • Gamepark Holdings' GP2X
    • Open Pandora
    • MediaTek
    • Nokia 770 Internet Tablet
    • Nokia N800
    • Nokia N810
    • Nokia N900
    • Nomadik
    • NovaThor (discontinued)
    • gumstix
    • Sony Mylo
    • Qualcomm Snapdragon
    • Nvidia Tegra
    • TI OMAP
    • Psion 5, 5MX, Series 7, netBook
    • Rockchip
    • Some Models of Apple iPods (see iPodLinux)
    • OpenMoko Neo 1973, Neo FreeRunner
    • Freescale's (formerly Motorola's) i.MX multimedia processors
  • Atmel AVR32 (dropped since 4.12[5]) (avr32)
  • C-SKY[6]
  • Axis Communications' ETRAX CRIS (dropped since 4.17)
  • Texas Instruments TMS320 family of DSPs from Texas Instruments
  • Freescale's (formerly Motorola's) 68k architecture (68020, 68030, 68040, 68060) (m68k):
  • Fujitsu FR-V (dropped since 4.17) (frv)
  • Qualcomm Hexagon (hexagon)
  • Hewlett-Packard's PA-RISC (parisc)
  • H8 architecture from Renesas Technology, formerly Hitachi (h8300)
    • H8/300
    • H8/500
  • International Business Machines (IBM)
    • System/390 (31-bit) (s390) (dropped since 4.1 in favor of s390x except for user space compat mode)
    • z/Architecture (IBM Z and IBM LinuxONE) (64-bit) (s390x)
  • Imagination META[8] (dropped since 4.17)
  • Intel IA-64 Itanium, Itanium II (ia64)[9]
  • x86 architecture (x86):
    • IBM PC compatibles using IA-32 and x86-64 processors:
      • Intel 80386 (dropped since 3.8), 80486, and their AMD, Cyrix, Texas Instruments and IBM variants
      • The entire Pentium series and its Celeron and Xeon variants
      • Intel Core processors
      • AMD 5x86, K5, K6, Athlon (all 32-bit versions), Duron, Sempron
      • x86-64: 64-bit processor architecture, now officially known as AMD64 (AMD) or Intel64 (Intel); supported by the Athlon 64, Opteron and Intel Core 2 processors, among others
      • Cyrix 5x86, 6x86 (M1), 6x86MX and MediaGX (National/AMD Geode) series
      • VIA Technologies Eden (Samuel II), VIA C3, and VIA C7 processors (all 32-bit) and VIA Nano (x86-64)
    • Microsoft's Xbox (Pentium III processor), through the Xbox Linux project
    • SGI Visual Workstation (Pentium II/III processor(s) with SGI chipset)
    • Sun Microsystems Sun386i workstation (80386 and 80486)
    • Support for 8086, 8088, 80186, 80188 and 80286 CPUs is under development (the ELKS fork)[10]
  • M32R from Mitsubishi (dropped since 4.17) (m32r)
  • Microblaze from Xilinx (microblaze)
  • MIPS architecture (mips):
    • Dingoo
    • Infineon's Amazon & Danube Network Processors
    • Ingenic Jz4740
    • Loongson (MIPS-compatible), and models 2 and 2E, from BLX IC Design Ltd (China)
    • Some PlayStation 2 models, through the PS2 Linux project
    • PlayStation Portable uClinux 2.4.19 port [1]
    • Broadcom wireless chipsets
    • Dreambox (HD models)[11]
    • packet processors
  • MN103 from Panasonic Corporation (dropped since 4.17) (mn10300)
  • OpenRISC (openrisc)
    • OpenRISC 1000 family in the mainline Linux Kernel as of 3.1
    • Beyond Semiconductor OR1200
    • Beyond Semiconductor OR1210
  • Power ISA:
    • IBM Servers
  • PowerPC architecture (powerpc):
    • IBM's Cell
    • Most pre-Intel Apple computers (all PCI-based Power Macintoshes, limited support for the older NuBus Power Macs)
    • Clones of the PCI Power Mac marketed by Power Computing, UMAX and Motorola
    • Amigas upgraded with a "Power-UP" card (such as the Blizzard or CyberStorm)
    • AmigaOne motherboard from Eyetech Group Ltd (UK)
    • Samantha from Soft3 (Italy)
    • IBM RS/6000, iSeries and pSeries systems
    • Pegasos I and II boards from Genesi
    • Nintendo GameCube and Wii, through Nintendo GameCube Linux
    • Project BlackDog from Realm Systems, Inc.
    • Sony PlayStation 3
    • Microsoft's Xbox 360, through the free60 project
    • V-Dragon CPU from Culturecom
    • Virtex II Pro field-programmable gate array (FPGA) from Xilinx with PowerPC cores
    • Dreambox (non-HD models)[12]
  • RISC-V
  • SPARC (sparc)
  • SuperH (sh)
    • Sega Dreamcast (SuperH SH4)
    • HP Jornada 680 through Jlime distribution (SuperH SH3)
  • Synopsys DesignWare ARC cores, originally developed by ARC International (arc)
  • S+core (dropped since 4.17) (score)
  • Tilera (dropped since 4.17)
  • Xtensa from Tensilica
  • UniCore32 (unicore32)

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

See also[]

References[]

  1. ^ https://kernelnewbies.org/Linux_4.17
  2. ^ "Linux Kernel Driver DataBase: CONFIG_ARCH_ARC: Archimedes". cateee.net. Retrieved 2021-01-05.
  3. ^ "ARM Linux - Acorn - Overview". www.arm.linux.org.uk. Retrieved 2021-01-05.
  4. ^ Linux on Palm Tungsten E
  5. ^ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=26202873bb51fafdaa51be3e8de7aab9beb49f70
  6. ^ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/csky
  7. ^ https://lwn.net/Articles/442439/
  8. ^ https://lwn.net/Articles/522188/
  9. ^ "Linux 5.4 Dropping Support For The Itanium IA64-Powered SGI Altix - Phoronix". www.phoronix.com. Retrieved 2021-01-05.
  10. ^ ELKS project
  11. ^ Dream Multimedia DM 800 PVR technical data Archived 2008-05-27 at the Wayback Machine
  12. ^ "Dream Multimedia DM 500 + technical data". Archived from the original on 2008-05-30.

External links[]

Retrieved from ""