Skip to content

Commit 0d4cadb

Browse files
committedSep 1, 2023
8315195: RISC-V: Update hwprobe query for new extensions
Reviewed-by: fyang, fjiang, luhenry
1 parent b4f7069 commit 0d4cadb

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed
 

‎src/hotspot/os_cpu/linux_riscv/riscv_hwprobe.cpp

+16
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@
4545
#define RISCV_HWPROBE_KEY_IMA_EXT_0 4
4646
#define RISCV_HWPROBE_IMA_FD (1 << 0)
4747
#define RISCV_HWPROBE_IMA_C (1 << 1)
48+
#define RISCV_HWPROBE_IMA_V (1 << 2)
49+
#define RISCV_HWPROBE_EXT_ZBA (1 << 3)
50+
#define RISCV_HWPROBE_EXT_ZBB (1 << 4)
51+
#define RISCV_HWPROBE_EXT_ZBS (1 << 5)
4852

4953
#define RISCV_HWPROBE_KEY_CPUPERF_0 5
5054
#define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0)
@@ -129,6 +133,18 @@ void RiscvHwprobe::add_features_from_query_result() {
129133
if (is_set(RISCV_HWPROBE_KEY_IMA_EXT_0, RISCV_HWPROBE_IMA_C)) {
130134
VM_Version::ext_C.enable_feature();
131135
}
136+
if (is_set(RISCV_HWPROBE_KEY_IMA_EXT_0, RISCV_HWPROBE_IMA_V)) {
137+
VM_Version::ext_V.enable_feature();
138+
}
139+
if (is_set(RISCV_HWPROBE_KEY_IMA_EXT_0, RISCV_HWPROBE_EXT_ZBA)) {
140+
VM_Version::ext_Zba.enable_feature();
141+
}
142+
if (is_set(RISCV_HWPROBE_KEY_IMA_EXT_0, RISCV_HWPROBE_EXT_ZBB)) {
143+
VM_Version::ext_Zbb.enable_feature();
144+
}
145+
if (is_set(RISCV_HWPROBE_KEY_IMA_EXT_0, RISCV_HWPROBE_EXT_ZBS)) {
146+
VM_Version::ext_Zbs.enable_feature();
147+
}
132148
if (is_valid(RISCV_HWPROBE_KEY_CPUPERF_0)) {
133149
VM_Version::unaligned_access.enable_feature(
134150
query[RISCV_HWPROBE_KEY_CPUPERF_0].value & RISCV_HWPROBE_MISALIGNED_MASK);

‎src/hotspot/os_cpu/linux_riscv/vm_version_linux_riscv.cpp

+1-9
Original file line numberDiff line numberDiff line change
@@ -224,19 +224,11 @@ void VM_Version::vendor_features() {
224224

225225
void VM_Version::rivos_features() {
226226
// Enable common features not dependent on marchid/mimpid.
227-
ext_I.enable_feature();
228-
ext_M.enable_feature();
229-
ext_A.enable_feature();
230-
ext_F.enable_feature();
231-
ext_D.enable_feature();
232-
ext_C.enable_feature();
233-
ext_H.enable_feature();
234-
ext_V.enable_feature();
235-
236227
ext_Zicbom.enable_feature();
237228
ext_Zicboz.enable_feature();
238229
ext_Zicbop.enable_feature();
239230

231+
// If we running on a pre-6.5 kernel
240232
ext_Zba.enable_feature();
241233
ext_Zbb.enable_feature();
242234
ext_Zbs.enable_feature();

0 commit comments

Comments
 (0)
Please sign in to comment.