all isaDTS strings to lowercase #3332
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Linux Kernel requires letters in the riscv,isa string in the device tree must be all lowercase to simplify parsing. see here
However, rocket-chip will produce an ISA string with uppercase letters will cause the kernel to misbehave. Especially when using defconfig Linux with rocket-chip without FPU, the ISA string parser will confuse the current kernel that the CPU has "f" from "Zifencei", and the kernel will panic at
__fstate_restore
due to illegal instruction exceptions.I tried to patch the Linux Kernel, but a maintainer thinks it will make the device tree have no backward compatibility. In my opinion, the rocket-chip should be fixed, and the parser in the kernel should also be fixed to avoid illegal parsing causing the kernel to misbehave.
In this PR, I changed all the ISA strings to lowercase to meet the kernel's requirements, and the issue was solved.
Related issue: See https://lore.kernel.org/lkml/20230425-flyable-prompter-5b1e4cebf9db@wendy/
Type of change: bug report
Impact: no functional change
Development Phase: implementation