-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8199138: Add RISC-V support to Zero #573
base: master
Are you sure you want to change the base?
Conversation
👋 Welcome back dzhang! A progress list of the required criteria for merging this PR into |
❗ This change is not yet ready to be integrated. |
This backport pull request has now been updated with issue from the original commit. |
Webrevs
|
Thanks to Gui Cao for the original patch. |
@DingliZhang |
/approval request allow Zero build on RISC-V |
@DingliZhang |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, I have only one minor comment. Thanks.
hotspot/src/os/linux/vm/os_linux.cpp
Outdated
@@ -1949,6 +1949,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) | |||
#ifndef EM_AARCH64 | |||
#define EM_AARCH64 183 /* ARM AARCH64 */ | |||
#endif | |||
#ifndef EM_RISCV | |||
#define EM_RISCV 243 /* RISC-V */ | |||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It will be more consistent if you put this after definition of EM_LOONGARCH
like you do for the other places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review! Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. I am not sure about the autoconf issue here. You need to ask for the maintainer's comments/suggestions (@gnu-andrew once mentioned the possibility of backporting https://bugs.openjdk.org/browse/JDK-8195689 on #413) to remove the generated configure at the start of the next release cycle). The rest of the change looks good to me (Not a 8u Reviewer).
@DingliZhang This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Keep this open. I'll review after the upcoming release on the 15th. |
Yes, the in-tree auto-generated |
Thanks for the reply, I'm looking forward to it. |
Hi all,
I'd like to backport this patch to jdk8u. Since most linux distributions support riscv64 and provide zero version jdk8 for riscv64. However, we may need to do some workarounds each time we upgrade the version, so I think it is helpful to provide zero support for riscv64 here.
common/autoconf/build-aux/config.guess
andhotspot/src/os/linux/vm/os_linux.cpp
do not apply cleanly due to context difference, but it is easy to resolve them manually.common/autoconf/platform.m4
just changed file path and remove test ofx$OPENJDK_$1_CPU
.common/autoconf/generated-configure.sh
regenerated bybash common/autoconf/autogen.sh
. I used autoconf-2.69 and build from the source . But it looks a bit different from the one generated in the repo. I also tried autoconf-2.69 that comes with ubuntu 20.04 and the generated file is similar to the one in #413. I'm not quite sure which version of autoconf2.69 to use, if anyone has a better suggestion or is willing to help me generate a different one, I'd appreciate it!Both cross-compile build and native build on riscv64 hardware is tested.
cross-compile on x86
boot jdk
run on qemu
native build on lp4a
boot jdk
run on lp4a
Thanks,
Dingli
Progress
Issue
Reviewers
Contributors
<[email protected]>
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk8u-dev.git pull/573/head:pull/573
$ git checkout pull/573
Update a local copy of the PR:
$ git checkout pull/573
$ git pull https://git.openjdk.org/jdk8u-dev.git pull/573/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 573
View PR using the GUI difftool:
$ git pr show -t 573
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk8u-dev/pull/573.diff
Webrev
Link to Webrev Comment