All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/16] Add support for a few Zc* extensions, Zcmop and Zimop
@ 2024-05-17 14:52 ` Clément Léger
  0 siblings, 0 replies; 108+ messages in thread
From: Clément Léger @ 2024-05-17 14:52 UTC (permalink / raw)
  To: kvm-riscv

Add support for (yet again) more RVA23U64 missing extensions. Add
support for Zimop, Zcmop, Zca, Zcf, Zcd and Zcb extensions ISA string
parsing, hwprobe and kvm support. Zce, Zcmt and Zcmp extensions have
been left out since they target microcontrollers/embedded CPUs and are
not needed by RVA23U64.

Since Zc* extensions states that C implies Zca, Zcf (if F and RV32), Zcd
(if D), this series modifies the way ISA string is parsed and now does
it in two phases. First one parses the string and the second one
validates it for the final ISA description.

Link: https://lore.kernel.org/linux-riscv/20240404103254.1752834-1-cleger at rivosinc.com/ [1]
Link: https://lore.kernel.org/all/20240409143839.558784-1-cleger at rivosinc.com/ [2]

---

v5:
 - Merged in Zimop to avoid any uneeded series dependencies
 - Rework dependency resolution loop to loop on source isa first rather
   than on all extensions.
 - Disabled extensions in source isa once set in resolved isa
 - Rename riscv_resolve_isa() parameters

v4:
 - Modify validate() callbacks to return 0, -EPROBEDEFER or another
   error.
 - v3: https://lore.kernel.org/all/20240423124326.2532796-1-cleger at rivosinc.com/

v3:
 - Fix typo "exists" -> "exist"
 - Remove C implies Zca, Zcd, Zcf, dt-bindings rules
 - Rework ISA string resolver to handle dependencies
 - v2: https://lore.kernel.org/all/20240418124300.1387978-1-cleger at rivosinc.com/

v2:
 - Add Zc* dependencies validation in dt-bindings
 - v1: https://lore.kernel.org/lkml/20240410091106.749233-1-cleger at rivosinc.com/

Cl?ment L?ger (16):
  dt-bindings: riscv: add Zimop ISA extension description
  riscv: add ISA extension parsing for Zimop
  riscv: hwprobe: export Zimop ISA extension
  RISC-V: KVM: Allow Zimop extension for Guest/VM
  KVM: riscv: selftests: Add Zimop extension to get-reg-list test
  dt-bindings: riscv: add Zca, Zcf, Zcd and Zcb ISA extension
    description
  riscv: add ISA extensions validation callback
  riscv: add ISA parsing for Zca, Zcf, Zcd and Zcb
  riscv: hwprobe: export Zca, Zcf, Zcd and Zcb ISA extensions
  RISC-V: KVM: Allow Zca, Zcf, Zcd and Zcb extensions for Guest/VM
  KVM: riscv: selftests: Add some Zc* extensions to get-reg-list test
  dt-bindings: riscv: add Zcmop ISA extension description
  riscv: add ISA extension parsing for Zcmop
  riscv: hwprobe: export Zcmop ISA extension
  RISC-V: KVM: Allow Zcmop extension for Guest/VM
  KVM: riscv: selftests: Add Zcmop extension to get-reg-list test

 Documentation/arch/riscv/hwprobe.rst          |  28 ++
 .../devicetree/bindings/riscv/extensions.yaml |  95 +++++++
 arch/riscv/include/asm/cpufeature.h           |  26 +-
 arch/riscv/include/asm/hwcap.h                |   6 +
 arch/riscv/include/uapi/asm/hwprobe.h         |   6 +
 arch/riscv/include/uapi/asm/kvm.h             |   6 +
 arch/riscv/kernel/cpufeature.c                | 244 ++++++++++++------
 arch/riscv/kernel/sys_hwprobe.c               |   6 +
 arch/riscv/kvm/vcpu_onereg.c                  |  12 +
 .../selftests/kvm/riscv/get-reg-list.c        |  24 ++
 10 files changed, 366 insertions(+), 87 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 108+ messages in thread

end of thread, other threads:[~2024-06-04  7:18 UTC | newest]

Thread overview: 108+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-17 14:52 [PATCH v5 00/16] Add support for a few Zc* extensions, Zcmop and Zimop Clément Léger
2024-05-17 14:52 ` Clément Léger
2024-05-17 14:52 ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 01/16] dt-bindings: riscv: add Zimop ISA extension description Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-29 22:10   ` Charlie Jenkins
2024-05-29 22:10     ` Charlie Jenkins
2024-05-29 22:10     ` Charlie Jenkins
2024-05-17 14:52 ` [PATCH v5 02/16] riscv: add ISA extension parsing for Zimop Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-29 22:08   ` Charlie Jenkins
2024-05-29 22:08     ` Charlie Jenkins
2024-05-29 22:08     ` Charlie Jenkins
2024-05-29 22:21     ` Charlie Jenkins
2024-05-29 22:21       ` Charlie Jenkins
2024-05-29 22:21       ` Charlie Jenkins
2024-05-30  8:12       ` Clément Léger
2024-05-30  8:12         ` Clément Léger
2024-05-30  8:12         ` Clément Léger
2024-05-30 14:37         ` Charlie Jenkins
2024-05-30 14:37           ` Charlie Jenkins
2024-05-30 14:37           ` Charlie Jenkins
2024-05-30 14:38           ` Clément Léger
2024-05-30 14:38             ` Clément Léger
2024-05-30 14:38             ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 03/16] riscv: hwprobe: export Zimop ISA extension Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-29 22:11   ` Charlie Jenkins
2024-05-29 22:11     ` Charlie Jenkins
2024-05-29 22:11     ` Charlie Jenkins
2024-05-17 14:52 ` [PATCH v5 04/16] RISC-V: KVM: Allow Zimop extension for Guest/VM Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 15:17   ` Anup Patel
2024-05-17 15:17     ` Anup Patel
2024-05-17 15:17     ` Anup Patel
2024-05-29 22:16   ` Charlie Jenkins
2024-05-29 22:16     ` Charlie Jenkins
2024-05-29 22:16     ` Charlie Jenkins
2024-05-17 14:52 ` [PATCH v5 05/16] KVM: riscv: selftests: Add Zimop extension to get-reg-list test Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 15:18   ` Anup Patel
2024-05-17 15:18     ` Anup Patel
2024-05-17 15:18     ` Anup Patel
2024-05-17 14:52 ` [PATCH v5 06/16] dt-bindings: riscv: add Zca, Zcf, Zcd and Zcb ISA extension description Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-29 22:13   ` Charlie Jenkins
2024-05-29 22:13     ` Charlie Jenkins
2024-05-29 22:13     ` Charlie Jenkins
2024-05-17 14:52 ` [PATCH v5 07/16] riscv: add ISA extensions validation callback Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 16:44   ` Conor Dooley
2024-05-17 16:44     ` Conor Dooley
2024-05-17 16:44     ` Conor Dooley
2024-05-21  7:58     ` Clément Léger
2024-05-21  7:58       ` Clément Léger
2024-05-21  7:58       ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 08/16] riscv: add ISA parsing for Zca, Zcf, Zcd and Zcb Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-21 19:49   ` Conor Dooley
2024-05-21 19:49     ` Conor Dooley
2024-05-21 19:49     ` Conor Dooley
2024-05-22  7:20     ` Clément Léger
2024-05-22  7:20       ` Clément Léger
2024-05-22  7:20       ` Clément Léger
2024-05-30 21:13       ` Palmer Dabbelt
2024-05-30 21:13         ` Palmer Dabbelt
2024-05-30 21:13         ` Palmer Dabbelt
2024-06-04  7:18         ` Clément Léger
2024-06-04  7:18           ` Clément Léger
2024-06-04  7:18           ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 09/16] riscv: hwprobe: export Zca, Zcf, Zcd and Zcb ISA extensions Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-30 15:25   ` Charlie Jenkins
2024-05-30 15:25     ` Charlie Jenkins
2024-05-30 15:25     ` Charlie Jenkins
2024-05-17 14:52 ` [PATCH v5 10/16] RISC-V: KVM: Allow Zca, Zcf, Zcd and Zcb extensions for Guest/VM Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 11/16] KVM: riscv: selftests: Add some Zc* extensions to get-reg-list test Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 12/16] dt-bindings: riscv: add Zcmop ISA extension description Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 13/16] riscv: add ISA extension parsing for Zcmop Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-30 15:48   ` Charlie Jenkins
2024-05-30 15:48     ` Charlie Jenkins
2024-05-30 15:48     ` Charlie Jenkins
2024-05-17 14:52 ` [PATCH v5 14/16] riscv: hwprobe: export Zcmop ISA extension Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 15/16] RISC-V: KVM: Allow Zcmop extension for Guest/VM Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52 ` [PATCH v5 16/16] KVM: riscv: selftests: Add Zcmop extension to get-reg-list test Clément Léger
2024-05-17 14:52   ` Clément Léger
2024-05-17 14:52   ` Clément Léger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.