forked from Bananymous/banan-os
				
			Kernel: Add vaddr->paddr getter to VirtualRange
This commit is contained in:
		
							parent
							
								
									0f936fc163
								
							
						
					
					
						commit
						00015285ab
					
				|  | @ -26,6 +26,16 @@ namespace Kernel | ||||||
| 		size_t size() const { return m_size; } | 		size_t size() const { return m_size; } | ||||||
| 		PageTable::flags_t flags() const { return m_flags; } | 		PageTable::flags_t flags() const { return m_flags; } | ||||||
| 
 | 
 | ||||||
|  | 		paddr_t paddr_of(vaddr_t vaddr) const | ||||||
|  | 		{ | ||||||
|  | 			ASSERT(vaddr % PAGE_SIZE == 0); | ||||||
|  | 			const size_t index = (vaddr - m_vaddr) / PAGE_SIZE; | ||||||
|  | 			ASSERT(index < m_paddrs.size()); | ||||||
|  | 			const paddr_t paddr = m_paddrs[index]; | ||||||
|  | 			ASSERT(paddr); | ||||||
|  | 			return paddr; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		bool contains(vaddr_t address) const { return vaddr() <= address && address < vaddr() + size(); } | 		bool contains(vaddr_t address) const { return vaddr() <= address && address < vaddr() + size(); } | ||||||
| 
 | 
 | ||||||
| 		BAN::ErrorOr<void> allocate_page_for_demand_paging(vaddr_t address); | 		BAN::ErrorOr<void> allocate_page_for_demand_paging(vaddr_t address); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue