-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
panic on large memory regions when map-physical-memory
is enabled
#262
Comments
When the Lines 264 to 267 in ac46d04
[package.metadata.bootloader]
map-physical-memory = true
map-page-table-recursively = true
dynamic-range-start = "0xFFFF_8000_0000_0000" It appears the recursive index has already been used while mapping the dynamic range in this case? |
this doesn't currently work; see rust-osdev/bootloader#262
I feel like this is also related to #259. I can reproduce this on qemu 7.1, but not on 7.0. |
bootloader/src/binary/level_4_entries.rs Lines 172 to 174 in ac46d04
This allocates a level 4 entry which spans 2^39 bytes irregardless of the requested size. QEMU's reported memory regions at 1TB are larger than that (2^40 bytes) which results the physical memory mapping overlapping into other regions. |
|
Ah, yeah, you're right — it turns out I can reproduce this without the dynamic range configuration, and it's having This is definitely related to #259, then. |
map-physical-memory
and dynamic-range-start
are enabledmap-physical-memory
is enabled
I can close this issue as a duplicate of #259 if you like? |
Sure |
Trying to test out a higher half kernel using PR #229, the bootloader panics when the
map-physical-memory
,map-framebuffer
, anddynamic-range-start
configurations are all present.I have the following configurations in my
Cargo.toml
:I get the following panic:
bootloader/src/binary/mod.rs
Line 355 in ac46d04
which fails on a
ParentEntryHugeFrame
error:The text was updated successfully, but these errors were encountered: