You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the modules crate::arch::x86_64::mm::{ paging, virtualmem } results in unexpected behavior, assuming I understand the intentions of the code correctly.
What I expect:
After a call to paging::unmap, or at the very least virtualmem::deallocate, I'll expect paging::get_page_table_entry::<BasePageSize> to return None.
Actual behavior:
After each of the above calls, paging::get_page_table_entry::<BasePageSize> returns Some(0) for the first page. If page count > 1, following pages will be mapped to a multiple of BasePageSize::SIZE.
To reproduce the issue and making sure, it is not a misunderstanding on my part, here is an example function I put into main.rs and call from main.rs:main (after initialization of course), producing the output shown below:
Using the modules
crate::arch::x86_64::mm::{ paging, virtualmem }
results in unexpected behavior, assuming I understand the intentions of the code correctly.What I expect:
After a call to
paging::unmap
, or at the very leastvirtualmem::deallocate
, I'll expectpaging::get_page_table_entry::<BasePageSize>
to returnNone
.Actual behavior:
After each of the above calls,
paging::get_page_table_entry::<BasePageSize>
returnsSome(0)
for the first page. If page count > 1, following pages will be mapped to a multiple ofBasePageSize::SIZE
.To reproduce the issue and making sure, it is not a misunderstanding on my part, here is an example function I put into main.rs and call from main.rs:main (after initialization of course), producing the output shown below:
Code:
Output:
The text was updated successfully, but these errors were encountered: