openjdk riscv64 port

Yadong Wang yadonn.wang at huawei.com
Thu May 20 08:49:39 UTC 2021


Hi all,

Thanks to Sanhong. Now we've pushed an initial patch of riscv port to 
the jdk-sandbox [1], based on a mainline code version from March 2021.

This riscv64 port supports RV64GV, shorthand for RV64IMAFDV ISA
extensions, and covers the templateInterpreter, C1 and C2, excluding
AOT/JVMCI. All existing GCs are available on riscv64, including ZGC
and ShenandoahGC.

The VectorAPI and ForeignAPI features are not supported for now.
Vectorization is experimentally supported, because the rvv 0.10 ISA
is still draft and supported by few emulators and hardware.

Configure and build steps:
http://cr.openjdk.java.net/~fyang/openjdk-riscv-port/BuildRISCVJDK.md

So far, we've passed JTReg tests on Qemu user mode(we could not find 
other emulators supporting the rvv 0.10, including qemu system mode) and 
the HiFive Unleashed board.

[1] https://github.com/openjdk/jdk-sandbox/tree/riscv-port-branch

Best Regards,
Yadong Wang

On 3/3/2021 9:09 PM, 李三红(三红) wrote:
> Hi all,
> We have created a risc-v port branch [1] in the jdk-sandbox [2].
> @Yadong Wang, you guys can push the changes into this branch,  and we can start the collaboration based on this shared repo:)
> 
> [1] https://github.com/openjdk/jdk-sandbox/tree/riscv-port-branch
> [2] https://github.com/openjdk/jdk-sandbox
> 
> Thanks!
> Sanhong
> -----邮件原件-----
> 发件人: Yadong Wang <yadonn.wang at huawei.com>
> 发送时间: 2021年2月20日 15:11
> 收件人: 李三红(三红) <sanhong.lsh at alibaba-inc.com>; porters-dev at openjdk.java.net; edward.nevill at gmail.com
> Re: openjdk riscv64 port
> 
> Sounds like a good idea. I'm fine with that.
> 
>> HI Ed, Yadong,
>> In the parallel discussion for the project creation,  we may consider using jdk-sandbox [1]  as a sharing repo for further community collaboration(e.g. enhancements, bug fixing, etc.)?
>> Also,  we can consider generating the OpenJDK RISC-V build based on this repo, I think the people who looked into RISC-V have the interest to try it in their environment.
>> Your thoughts?
>>
>> [1] https://github.com/openjdk/jdk-sandbox
>>
>> Thanks!
>> Sanhong
>>
>> On 2020/12/30 5:02, Edward Nevill wrote:
>>> On Tue, 2020-12-29 at 02:02 +0000, wangyadong (E) wrote:
>>>> Hi,
>>>>       We implemented a RV64G port of OpenJDK11u(TemplateInterpreter, C1 and C2) and open source to https://gitee.com/openeuler/bishengjdk-11/tree/risc-v/ . Would the community like to help us to create a project? And then we can promote it stable with the community.
>>>>
>>>> Yadong Wang
>>>> Huawei Technologies Co., Ltd.
>>>>
>>>
>>> Hi,
>>>
>>> In order to progress this a riscv-port project will need to be created. There was an initial attempt to get a riscv-port project started in Feb. 2018 (see https://mail.openjdk.java.net/pipermail/porters-dev/2018-February/thread.html).
>>>
>>> The process for creation of a new OpenJDK project is described at
>>> http://openjdk.java.net/projects/#new-project
>>>
>>> In accordance with the OpenJDK bylaws the initial discussion should be sent to the general discussion list, discuss.at.openjdk.dot.java.dot.net with the subject line "Call for Discussion: New Project: riscv-port".
>>>
>>> However, it may be best to have an initial discussion here on porters-dev before submitting the formal Call for Discussion on discuss.
>>>
>>> The project will need a project lead who must be a Contributor and must be sponsored by a Group Lead. Although technically any Group Lead could sponsor this project, in practice it should be the Group Lead of the porters project, Dalibor Topic.
>>>
>>> All the best,
>>> Ed.
>>>
>>>
>>> .
>>>
>>
>> Thank you, Ed. We read these discussions before we started. And in fact, we started with the Zero-Assembler port based on your initial patch.
>>
>> Now we have an almost complete implementation of riscv port, and then I am willing to perform the project lead. In the past year, I lead our riscv port implementation based on OpenJDK, and wrote the substantial part. More importantly, I have a JVM team of about 30 engineers in Huawei to support me. Although we're new here, we have contributed nearly 90 patches to OpenJDK, and now have 1 reviewer, 1 committer, several authors and a dozen contributors in the community. They are all happy to help me. Also, there are many hardware engineers familiar with riscv with who we can co-worked in our company. We were also actively participated in many riscv isa task groups.
>>
>> About future plans, we first contribute an initial riscv port of jdk11, latest LTS version so far, covering most of mainstream java frameworks, and so we can get more feedback of ecosystem participants. Adequate testing is the first priority, and we can co-worked with AdoptOpenJDK to build and distribute binaries(they contacted us and were willing to offer help), so that interested developers can try them ahead of time.
>> The initial port can be split to 3 patches (TemplateInterpreter, C1
>> and
>> C2) to be fully reviewed by the reviewers.
>>
>> Meanwhile, the mainline version jdk/jdk is also under development and ready to open source after tested fully on the hardware.
>>
>> By the way, AOT and Graal are not covered currently, and we can make plans as needed.
>>
>> .
>>
> 
> .
> 



More information about the porters-dev mailing list