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.
This pr reworks how
UsedLevel4Entries
is created and used.UsedLevel4Entries
is used to keep track of address ranges that are already in use and dynamically get unused addresses for unconfigured addresses in the config at runtime.Previously the only addresses that were marked as used where the addresses of the kernel segments. This pr changes the
UsedLevel4Entries
constructor to also mark all the statically configured addresses in the config as used.This pr also moves the marking of kernel segment addresses into a separate method. This improves support for position independent executables: Previously we just loaded position independent executables with a fixed offset of
0x400000
, but if we also want to get this offset dynamically at runtime, we have to initializeUsedLevel4Entries
before we mark the kernel segments as used.