(&mut self)
| 384 | |
| 385 | unsafe impl FrameAllocator<Size4KiB> for MultilevelBitmapFrameAllocator { |
| 386 | fn allocate_frame(&mut self) -> Option<PhysFrame> { |
| 387 | if let Some(frame_number) = self.fetch_frame() { |
| 388 | // Convert from frame number to physical address |
| 389 | return PhysFrame::from_start_address( |
| 390 | self.frame_phys_addr + frame_number * 4096).ok(); |
| 391 | } |
| 392 | None |
| 393 | } |
| 394 | } |
| 395 | |
| 396 | #[test_case] |