mirror of
https://gitlab.com/sortix/sortix.git
synced 2023-02-13 20:55:38 -05:00
No description
d392045559
Physical paging have been extended with Page::Insert() and Page::GetStats() which allows the physical paging system to add new pages to the physical page allocator, and still keep the "free/used pages" count accurate, and providing this information to the kernel (and user-space at some point). The virtual memory API has been extended with RemapKernel(), RemapUser(), MapRangeKernel(), UnmapRangeKernel(), MapRangeUser(), and UnmapRangeUser(). This huge number of related functions have been created in the hope that it hides the internal complexity of portable virtual memory management and avoid bugs. It is crucial that the correct group of functions are used when solving a problem and that they are not mixed in a manner not documented. I probably overdocumented the code - hopefully it should help avoiding making stupid or bothersome code. Another problem is that code calling Page::Get() often should call something like Page::AlwaysGetPageEvenIfYouHaveToSwap(). I'd be swell to have a function that always gets a page under heavily-swapping conditions. Possibly Page::Get() could become that? |
||
---|---|---|
debsrc | ||
hello | ||
isosrc/boot/grub | ||
libmaxsi | ||
mxmpp | ||
sortix | ||
subsystem | ||
.gitignore | ||
Makefile |