|
@@ -39,13 +39,13 @@ public:
|
|
|
|
|
|
ErrorOr<NonnullOwnPtr<Memory::Region>> create_identity_mapped_region(PhysicalAddress, size_t);
|
|
ErrorOr<NonnullOwnPtr<Memory::Region>> create_identity_mapped_region(PhysicalAddress, size_t);
|
|
|
|
|
|
|
|
+ void delete_all_regions_assuming_they_are_unmapped();
|
|
|
|
+
|
|
|
|
+private:
|
|
ErrorOr<VirtualRange> try_allocate_anywhere(size_t size, size_t alignment = PAGE_SIZE);
|
|
ErrorOr<VirtualRange> try_allocate_anywhere(size_t size, size_t alignment = PAGE_SIZE);
|
|
ErrorOr<VirtualRange> try_allocate_specific(VirtualAddress base, size_t size);
|
|
ErrorOr<VirtualRange> try_allocate_specific(VirtualAddress base, size_t size);
|
|
ErrorOr<VirtualRange> try_allocate_randomized(size_t size, size_t alignment = PAGE_SIZE);
|
|
ErrorOr<VirtualRange> try_allocate_randomized(size_t size, size_t alignment = PAGE_SIZE);
|
|
|
|
|
|
- void delete_all_regions_assuming_they_are_unmapped();
|
|
|
|
-
|
|
|
|
-private:
|
|
|
|
Spinlock m_lock;
|
|
Spinlock m_lock;
|
|
|
|
|
|
IntrusiveRedBlackTree<&Region::m_tree_node> m_regions;
|
|
IntrusiveRedBlackTree<&Region::m_tree_node> m_regions;
|