News: 0001653889

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Linux 7.3 Adds Support For Several Newer RISC-V Extensions

([RISC-V] 6 Hours Ago Linux 7.3 RISC-V)


With the in-development [1]Linux 7.3 is support for discovering and enumerating support for several newer RISC-V ISA extensions. Plus there are improvements to its control flow integrity Shadow Stack handling, CPU context switch support for QoS tagging, using UEFI runtime services for restart and powering off, and other improvements.

The new RISC-V extension support with Linux 7.3 includes the Smcsrind, Sscsrind, Smcntrpmf, Ssccfg, Smcdeleg, Zicclsm, Ziccamoa, Ziccif, Ziccrse, Za64rs, and Ssqosid extensions.

Smcsrind/Sscsrind is for an indirect access mechanism for Control and Status Registers (CSRs). Smcntrpmf is part of the Privileged Specification and adds privilege mode filtering for the cycle and instret counters. Ssccfg is for Supervisor Counter Configuration for letting the supervisor mode access and manage delegated hardware performance counters and configuration states. Smcdeleg is the Supervisor Counter Delegation extension and encompasses all CSRs and behavior modifications for a hart over all privilege levels.

Zicclsm is the extension for the CPU and main memory support for misaligned loads and stores. With Zicclsm present, scalar and vector memory access instructions can cross byte boundaries without a hardware exception. Ziccamoa mandates all main memory regions with cacheability and coherence support all atomic memory operations in the base A extension. Ziccif indicates the main memory supports instruction fetches with atomicity requirements. Ziccrse is for indicating the main memory guarantees forward progress for Load-Reserved/Store-Conditional sequences. Za64rs guarantees reservation sets used by LR/SC instructions are contiguous, among other requirements.

Lastly, Ssqosid is for Supervisor Quality of Service Identifiers for memory/cache bandwidth monitoring and the like.

More details on these new RISC-V extensions in Linux 7.3 and other CPU port improvements via [2]this pull now in Linux Git.



[1] https://www.phoronix.com/search/Linux+7.3

[2] https://lore.kernel.org/lkml/d788ab68-c0de-69a3-a36d-b968d6de9b7a@kernel.org/



So Richard and I decided to try to catch [the small shark].
With a great deal of strategy and effort and shouting, we managed to
maneuver the shark, over the course of about a half-hour, to a sort of
corner of the lagoon, so that it had no way to escape other than to
flop up onto the land and evolve. Richard and I were inching toward
it, sort of crouched over, when all of a sudden it turned around and --
I can still remember the sensation I felt at that moment, primarily in
the armpit area -- headed right straight toward us.
Many people would have panicked at this point. But Richard and
I were not "many people." We were experienced waders, and we kept our
heads. We did exactly what the textbook says you should do when you're
unarmed and a shark that is nearly two feet long turns on you in water
up to your lower calves: We sprinted I would say 600 yards in the
opposite direction, using a sprinting style such that the bottoms of
our feet never once went below the surface of the water. We ran all
the way to the far shore, and if we had been in a Warner Brothers
cartoon we would have run right INTO the beach, and you would have seen
these two mounds of sand racing across the island until they bonked
into trees and coconuts fell onto their heads.
-- Dave Barry, "The Wonders of Sharks on TV"