The SPARC64 port receives its first significant update in years, removing obsolete code and aligning with the rest of the active architectures in the mainline kernel.

In a rare but meaningful development within the Linux kernel ecosystem, Linutronix developer Thomas Weißschuh has submitted a series of patches that modernize the SPARC64 architecture support. This update marks an important step toward code cleanup and maintenance by migrating SPARC64 to the generic vDSO infrastructure, aligning it with the other architectures supported in the mainline kernel.

SPARC64: The Last to Adopt Generic vDSO

Until now, SPARC64 was the only architecture in the mainline kernel not using the generic vDSO (Virtual Dynamic Shared Object) implementation. vDSO enables user-space applications to access certain system calls more efficiently by avoiding costly context switches into kernel space.

“Using the generic vDSO infrastructure enables greater code sharing across architectures and simplifies kernel maintenance,” Weißschuh explained in his message to the Linux Kernel Mailing List.

This migration removes hundreds of lines of architecture-specific code, reducing complexity and minimizing the maintenance burden for a platform that—while obsolete in commercial terms—continues to be supported in Linux.

Oracle Abandoned SPARC Years Ago, But Linux Still Supports It

SPARC was originally developed by Sun Microsystems and used in high-performance Unix systems. After Oracle acquired Sun, the development of new SPARC processors ceased eight years ago. Since then, its user base has dwindled, with most deployments running Solaris rather than Linux.

Nevertheless, the Linux kernel continues to support SPARC64, largely thanks to the community and developers like John Paul Adrian Glaubitz, who maintain its compatibility—especially useful in academic settings, virtualization (QEMU), and retrocomputing.

What’s New in This Update?

The 14-patch series submitted by Weißschuh includes the following:

  • Removal of SPARC64-specific clocksource code.
  • Linking vDSO with -z noexecstack.
  • Replacing code patching with runtime conditionals.
  • Adding new implementations for clock_gettime64() and clock_getres() in vDSO.
  • Dropping legacy symbol and macro handling in vdso2c.
  • Complete migration to the same generic vDSO library used by x86, ARM, RISC-V, and PowerPC.

The result is not just a cleaner codebase, but an architecture more aligned with modern kernel practices and standards.

Code Tested Only in QEMU

Weißschuh confirmed that the changes have only been tested in virtualized environments using QEMU, highlighting the scarcity of functional SPARC64 hardware today. Still, the adoption of these patches facilitates kernel testing, simulation, and cross-compilation for multi-architecture support.

A Graceful Exit?

While this update modernizes SPARC64’s support, it may also pave the way for a gradual deprecation. With no new chips being developed and extremely limited practical use in Linux, the architecture’s future in the kernel remains uncertain.

“These types of cleanups lay the groundwork for a graceful retirement, or at least a passive maintenance path,” noted developers in community forums.


Conclusion

Modernizing SPARC64 in the Linux kernel is a testament to how the project balances innovation with legacy support. Even though SPARC64 no longer leads the market, maintaining its compatibility ensures a robust, interoperable, and technically coherent infrastructure.

In a world dominated by x86_64, ARM, and RISC-V, SPARC64 may be living its final years in the kernel—but it now does so with a modern vDSO.

Scroll to Top