8388474: RISC-V: Relax satp mode check for sv57 - #32043
Conversation
|
👋 Welcome back aivy! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
The total number of required reviews for this PR has been set to 2 based on the presence of this label: |
|
Hi, thanks for the contribution. |
Yes, they overlap, I missed your draft when I picked up the issue, sorry about the duplication. Please do share the sv57 tier1 results here when they finish, that system level coverage would be very helpful :) |
|
Hi, This is interesting. Besides the link to the related kernel patch on the JBS, I am wondering if this is documented anywhere? Thanks. |
Hi, I couldn’t find this stated in the current kernel documentation, but the current kernel source caps https://github.com/torvalds/linux/blob/master/arch/riscv/include/asm/pgtable.h?plain=1#L137-L140 So Sv48 is the default mapping window on an Sv57 system although it is not a strict address-space limit |
|
Hi, I've run some tier1 tests, and some hotspot-tier1 tests crash and even trigger Kernel panic. I'm not sure if this is caused by the patch. Also, I think this patch still needs some additional handling, which is why my PR (#32001) is still in draft. For convenience, I'd like to continue the tier1 testing, kernel version compatibility work, and virtual address boundary handling under my PR #32001, and I'll add you as a Contributor on my patch. Would that be okay with you? |
That sounds good, thanks for investigating this further and for offering to add me as a Contributor. I’ll close this PR in favor of #32001. |
Linux defaults userspace mappings to the sv48 address range even when the kernel uses sv57. HotSpot can therefore run safely on systems reporting an sv57 MMU.
This change allows SATP modes through
VM_SV57and updates the corresponding error message.VM_SV64remains unsupported.Testing:
sv57CPU information is acceptedsv64remains rejectedProgress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/32043/head:pull/32043$ git checkout pull/32043Update a local copy of the PR:
$ git checkout pull/32043$ git pull https://git.openjdk.org/jdk.git pull/32043/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 32043View PR using the GUI difftool:
$ git pr show -t 32043Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/32043.diff
Using Webrev
Link to Webrev Comment