Linux 7.3 Adds Support For Several Newer RISC-V Extensions
- Reference: 0001653889
- News link: https://www.phoronix.com/news/Linux-7.3-RISC-V
- Source link:
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/