Linus Torvalds has come out strong against proposed support for RISC-V big endian capabilities within the Linux kernel.

In response to a mailing list comment whether RISC-V big endian “BE” patches being worked on would be able to make it for this current Linux kernel cycle. Linus Torvalds initially wrote:

"Oh Christ. Is somebody seriously working on BE support in 2025?

WHY?

Seriously, that sounds like just stupid. Is there some actual real reason for this, or is it more of the “RISC-V is used in academic design classes and so people just want to do endianness for academic reasons”?

Because I’d be more than happy to just draw a line in the sand and say “New endianness problems are somebody ELSES problem”, and tell people to stop being silly.

Let’s not complicate things for no good reason. And there is NO reason to add new endianness.

RISC-V is enough of a mess with the millions of silly configuration issues already. Don’t make it even worse.

Tell people to just talk to their therapists instead. That’s much more productive."

  • ulterno@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    16 hours ago

    The differences can largely be mitigated at the operating system level.

    Exactly. And that also means that they have to be mitigated at the OS level and in this case, the kernel level.
    It would usually be fine if the system had nothing other than RAM and fixed storage, but anything else (as simple as keyboard drivers and stuff) and you will need to make the program accordingly. Maybe even SATA would require handling endianness.

    Honestly, I thought that they already handled endianness, due to how many different things Linux works on.
    But if it doesn’t then I don’t see there being much of a requirement.

    For networking devices and such, I’d rather favour more customised solutions either way.

    • elmicha@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      13 hours ago

      Some big-endian architectures are supported, but not RISC-V:

      A related problem is big-endian support, which is also 32-bit only, and also obsolete. Its removal is blocked because IBM is still supporting big-endian mainframe and PowerPC systems; as long as that support continues, big-endian support will stay in the kernel.