RFR: 8309258: RISC-V: Add riscv_hwprobe syscall

Robbin Ehn rehn at openjdk.org
Tue Jun 13 10:13:05 UTC 2023


Hi, please consider.

Linux kernel 6.4 will come with the new syscall https://docs.kernel.org/riscv/hwprobe.html to determine CPU and features.
RV cpus features/capabilities can vastly differ and it is not feasible for users to manually enable the correct feature set.
Today the VM uses the ELF aux vector and cpuinfo to gather some information about CPU capabilities.

Currently features are track with a bit field, this is insufficient.
There are many capabilities and these can have values attached to them.
CPU features should also be possible to turn if we can determine vendor (hwprobe).

This patchs adds the syscall, uses the syscall in combination with the aux and cpuinfo to enable features by default.
If there is a vendor specific path it calls that in addition.
Then we build the feature string(and bit field) and update flags accordingly.

Tested t1 and hwprobe with:
https://lore.kernel.org/qemu-devel/7f8d733df6e9b6151e9efb843d55441348805e70.camel@rivosinc.com/

-------------

Commit messages:
 - 8309258

Changes: https://git.openjdk.org/jdk/pull/14445/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14445&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8309258
  Stats: 565 lines in 5 files changed: 456 ins; 54 del; 55 mod
  Patch: https://git.openjdk.org/jdk/pull/14445.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14445/head:pull/14445

PR: https://git.openjdk.org/jdk/pull/14445


More information about the hotspot-dev mailing list