RFR: 8284196: RISC-V: Detect supported ISA extensions over cpuinfo [v2]
Fei Yang
fyang at openjdk.org
Tue Feb 7 05:38:45 UTC 2023
On Tue, 7 Feb 2023 03:07:16 GMT, Feilong Jiang <fjiang at openjdk.org> wrote:
>> Currently, `elf_hwcap` for RISC-V only sets single-letter extension bit (e.g. IMAFD).
>> As many standard multi-letter ISA extensions are ratified (e.g. Zba/Zbb/Zbc/Zbs),
>> we should find a stable way to detect and auto-enable these supported ISA extensions
>> in JVM. [1] has proposed a way to parse supported extensions through /proc/cpuinfo
>> or "riscv,isa" string of /sys/firmware/devicetree, we could detect supported extensions
>> in the same way.
>>
>> Here is an example of /proc/cpuinfo from Ubuntu 20.04 in QEMU-SYSTEM:
>>
>>
>> ubuntu at ubuntu:~$ uname -a
>> Linux ubuntu 5.8.0-14-generic #16~20.04.3-Ubuntu SMP Mon Feb 1 16:33:19 UTC 2021 riscv64 riscv64 riscv64 GNU/Linux
>> ubuntu at ubuntu:~$ cat /proc/cpuinfo
>> processor : 0
>> hart : 2
>> isa : rv64imafdch_zicsr_zifencei_zihintpause_zba_zbb_zbc_zbs_sstc
>> mmu : sv48
>>
>>
>> 1: http://lists.infradead.org/pipermail/linux-riscv/2021-November/010252.html
>>
>>
>> Testing:
>> - [x] `jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseZihintpause -XX:+UseRVV -XX:+UseZicbop -XX:+UseZba -XX:+UseZbb -XX:+UseZbs -XX:+PrintFlagsFinal -version` with release build
>
> Feilong Jiang has updated the pull request incrementally with one additional commit since the last revision:
>
> fix typo
Changes requested by fyang (Reviewer).
src/hotspot/os_cpu/linux_riscv/vm_version_linux_riscv.cpp line 100:
> 98: }
> 99: }
> 100:
Can you add a comment here about how the 'isa' substring with those extensions look like?
src/hotspot/os_cpu/linux_riscv/vm_version_linux_riscv.cpp line 102:
> 100:
> 101: void VM_Version::get_isa() {
> 102: char isa_buf[500];
Better to use 512 instead of 500 to be consistent with other places.
-------------
PR: https://git.openjdk.org/jdk/pull/12343
More information about the hotspot-dev
mailing list