Repository navigation
rk boot: boot arm64 under TCG with arm64.nomops - #182
Merged
Merged
Conversation
21 of 45 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
On the 7.3 A64 defconfig nightly 40256184683 the rucc kernel panicked in the kunit run. It stopped in
__memsetinmodule_memory_allocwhen it loadedcrypto/crypto_engine.ko. The SETM instruction wrote the page after the end of the module area, with no bytes left to set, and the kernel took a paging fault there.The same nightly shows that the fault is not the compiler's. In the rk cross-modules boots, the gcc-14 kernel with its own modules took the same fault in
__memsetwhen it loadedcrypto/deflate.ko. The rk mixed run 40264473995 got the fault again in the rucc kernel, at a different module. The likely cause is the FEAT_MOPS emulation of QEMU 8.2 under TCG.This change adds
arm64.nomopsto the kernel command line of every arm64 boot under TCG. The kernel then sets and copies memory with its own loops, on both kernels. Boots under KVM do not change.The A64 nightly 40268266012 runs on this branch to show that the fault is gone. I will merge after it passes.
Part of #109.