On Wed, Jul 05, 2023 at 09:00:18PM +0100, Conor Dooley wrote:
Hey Charlie,
On Wed, Jul 05, 2023 at 11:59:40AM -0700, Charlie Jenkins wrote:
Make sv48 the default address space for mmap as some applications currently depend on this assumption. Also enable users to select desired address space using a non-zero hint address to mmap. Previous kernel changes caused Java and other applications to be broken on sv57 which this patch fixes.
Documentation is also added to the RISC-V virtual memory section to explain these changes.
I can't find a changelog in any of these patches, nor an explanation for why this is v3 (or a RESEND). All I can find on the list is a v1. Could you explain and provide a changelog please?
Cheers, Conor.
I made a series of mistakes due to an incorrect email configuration. I knew something was wrong but I didn't know what after I sent out v2. v2 bumped the default address space from sv39 to sv48. The purpose of v3 was to remove an erroneous .gitignore I had included in v2 and also modify a testcase that was supposed to check the default was sv48 but it was still checking for sv39. After sending out v3 I realized what was wrong with my configuration, so I decided to mark it as a resend because I believe some people did recieve the previous emails.
This is the only patch that made it through to everybody, and includes a default address space of sv48 instead of sv39. I have tested that OpenJDK 19 works on sv39, sv48, and sv57 in QEMU on this patch. OpenJDK 19 failed to work on kernel v6.4 on sv57 but worked on sv39 and sv48. Applications like Java and Go failing on sv57 were the motivation of this patch. Setting a default of sv48 will allow applications that don't explicitly support sv57 to work on sv57 hardware but still allow applications to take advantage of sv57 by specifying a hint address to mmap that is greater than or equal to 1<<56.
- Charlie