RFR: 8356159: RISC-V: Add Zabha
Robbin Ehn
rehn at openjdk.org
Thu May 15 14:22:26 UTC 2025
Hi, please consider.
This adds the byte and halfword atomic memory operations (Zabha) - https://github.com/riscv/riscv-zabha.
All amo-instructions, except load-reserve and store-conditional, can also be performed on natural aligned half-words and bytes. (i.e. the extension do not add lr.h/b or sc.h/b) This includes amocas if zacas extension is present.
The majority of this patch is to support amocas.h/b. We are now starting to really feel the pain of all these extensions, as CAS:ing 16/8-bits can now be done in three different ways:
- lr.w/sc.w 'narrow' CAS (no extension)
- amocas.w 'narrow' CAS (Zacas)
- amocas.h/b (Zacas + Zabha)
There is no hwprobe support yet.
Ran t1-3 with Zacas+Zabha and t1 without Zabha in qemu.
Thanks, Robbin
-------------
Commit messages:
- Fixed ws
- Initial draft
Changes: https://git.openjdk.org/jdk/pull/25252/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25252&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8356159
Stats: 750 lines in 5 files changed: 580 ins; 47 del; 123 mod
Patch: https://git.openjdk.org/jdk/pull/25252.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25252/head:pull/25252
PR: https://git.openjdk.org/jdk/pull/25252
More information about the hotspot-dev
mailing list