fix: refactor image load and add i/dcache flush ops#79
Open
liulog wants to merge 5 commits intosyswonder:mainfrom
Open
fix: refactor image load and add i/dcache flush ops#79liulog wants to merge 5 commits intosyswonder:mainfrom
liulog wants to merge 5 commits intosyswonder:mainfrom
Conversation
Contributor
Author
Contributor
Author
|
Testing revealed that performing a flush operation after This means either binding to a CPU core or clearing followed by a flush. The ultimate goal is to ensure that the data in memory is clean and undisturbed. The flush operation is used here to ensure that the clear 0 operation is also written in memory, so that any CPU executing the load image will see a clean memory space. |
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.

For situations requiring a virtual machine restart: Due to residual guest data in memory/cache, guest instances that are not starting for the first time may be affected by this residual data.
When the system is running, it is necessary to clear the memory allocated to the virtual machine. At the same time, before startup, the kernel image and device tree need to be flushed to memory to avoid errors caused by fetching instructions directly from memory without caching in the early stages of virtual machine startup.
In addition, the cpu cores allocated to virtual machines should ideally perform TLB and cache cleanup operations locally to prevent the virtual machine from being affected by dirty data after the MMU is enabled or the cache is enabled. This should be done by the Hypervisor(hvisor), so changes to this part will be described in a subsequent hvisor PR.