linux/arch/riscv
Tsukasa OI 2a31c54be0
RISC-V: Minimal parser for "riscv, isa" strings
Current hart ISA ("riscv,isa") parser don't correctly parse:

1. Multi-letter extensions
2. Version numbers

All ISA extensions ratified recently has multi-letter extensions
(except 'H'). The current "riscv,isa" parser that is easily confused
by multi-letter extensions and "p" in version numbers can be a huge
problem for adding new extensions through the device tree.

Leaving it would create incompatible hacks and would make "riscv,isa"
value unreliable.

This commit implements minimal parser for "riscv,isa" strings.  With this,
we can safely ignore multi-letter extensions and version numbers.

[Improved commit text and fixed a bug around 's' in base extension]
Signed-off-by: Atish Patra <atishp@rivosinc.com>
[Fixed workaround for QEMU]
Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-03-17 12:17:49 -07:00
..
boot riscv: dts: sifive unmatched: Add gpio poweroff 2022-01-20 09:37:23 -08:00
configs RISC-V: nommu_virt: Drop unused SLAB_MERGE_DEFAULT 2022-01-20 12:48:14 -08:00
errata riscv: errata: alternative: mark vendor_patch_func __initdata 2022-01-09 11:02:46 -08:00
include bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
kernel RISC-V: Minimal parser for "riscv, isa" strings 2022-03-17 12:17:49 -07:00
kvm RISC-V: Do not use cpumask data structure for hartid bitmap 2022-01-20 09:27:22 -08:00
lib riscv: extable: consolidate definitions 2022-01-05 17:52:47 -08:00
mm RISC-V: Do not use cpumask data structure for hartid bitmap 2022-01-20 09:27:22 -08:00
net riscv: bpf: Fix eBPF's exception tables 2022-01-19 10:50:02 -08:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig RISC-V Patches for the 5.17 Merge Window, Part 2 2022-01-22 09:34:49 +02:00
Kconfig.debug RISC-V: Remove EARLY_PRINTK support 2018-12-17 10:23:46 -08:00
Kconfig.erratas riscv: enable SiFive errata CIP-453 and CIP-1200 Kconfig only if CONFIG_64BIT=y 2021-05-06 09:40:13 -07:00
Kconfig.socs RISC-V: Add StarFive SoC Kconfig option 2021-11-28 20:03:34 +01:00
Makefile riscv: fix building external modules 2021-11-18 23:06:23 -08:00