Hasty Briefsbeta

The future of 32-bit support in the kernel

9 days ago
  • #Linux
  • #kernel
  • #32-bit
  • 32-bit systems are considered obsolete for new products, with support mainly for existing hardware and software.
  • Most non-embedded architectures have transitioned to 64-bit or are no longer in use.
  • Embedded Linux systems predominantly use Arm processors, with 64-bit (armv8) now surpassing 32-bit (armv7) in devicetree files.
  • Support for pre-armv7 CPUs is limited, with many out of production but still supported in the kernel.
  • Non-Arm 32-bit architectures (e.g., arc, microblaze) are being replaced by RISC-V in new products.
  • Nommu (no memory-management unit) processors are no longer being built, with support mainly for existing systems.
  • Running 32-bit user space on a 64-bit kernel is recommended for memory-constrained systems.
  • Maintaining 32-bit support is complex, especially for high memory (supporting up to 16GB, soon capped at 4GB).
  • Proposals like 'densemem' and separating kernel/user-space address spaces aim to simplify 32-bit support.
  • The year-2038 problem is mostly solved in the kernel but remains in some applications and languages.
  • Big-endian support is obsolete but remains due to IBM's ongoing support for mainframe and PowerPC systems.
  • Future removals include high-memory support (~2027), nommu support (~2028), and various outdated CPU supports.