MCPcopy Create free account
hub / github.com/bendudson/EuraliOS / allocate_pages

Function allocate_pages

kernel/src/memory.rs:273–289  ·  view source on GitHub ↗
(level_4_table: *mut PageTable,
                      start_addr: VirtAddr,
                      size: u64,
                      flags: PageTableFlags)

Source from the content-addressed store, hash-verified

271}
272
273pub fn allocate_pages(level_4_table: *mut PageTable,
274 start_addr: VirtAddr,
275 size: u64,
276 flags: PageTableFlags)
277 -> Result<(), MapToError<Size4KiB>> {
278
279 let memory_info = unsafe {MEMORY_INFO.as_mut().unwrap()};
280
281 let mut mapper = unsafe {
282 OffsetPageTable::new(&mut *level_4_table,
283 memory_info.physical_memory_offset)};
284
285 allocate_pages_mapper(
286 &mut memory_info.frame_allocator,
287 &mut mapper,
288 start_addr, size, flags)
289}
290
291/// Allocate pages in the active page table
292///

Callers 2

new_user_threadFunction · 0.85
allocate_active_pagesFunction · 0.85

Calls 1

allocate_pages_mapperFunction · 0.85

Tested by

no test coverage detected