aboutsummaryrefslogtreecommitdiff
path: root/kernel/mm/physical_mm
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/mm/physical_mm')
-rw-r--r--kernel/mm/physical_mm/physical_mm.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/mm/physical_mm/physical_mm.cc b/kernel/mm/physical_mm/physical_mm.cc
index fb34aef..a4cd894 100644
--- a/kernel/mm/physical_mm/physical_mm.cc
+++ b/kernel/mm/physical_mm/physical_mm.cc
@@ -40,7 +40,7 @@ uint32_t block_count = 0;
uint32_t total_free_blocks = 0;
uint32_t memory_map[MAX_BLOCKS / BITMAP_ENTRY_SIZE];
-spinlock_t memory_map_lock;
+Spinlock lock;
ALWAYS_INLINE static void
log_memory_map(free_memory_regions_t *free_memory_regions)
@@ -96,7 +96,7 @@ initialize(void)
free_memory_regions_t *free_memory_regions = MemoryMap::get_free_regions();
log_memory_map(free_memory_regions);
- Spinlock::acquire(&memory_map_lock);
+ lock.acquire();
/* All blocks are initially used */
/* TODO: Move this block to a place after block_count is set. This is why
@@ -115,7 +115,7 @@ initialize(void)
/* Deinitialize first 4MiB */
deinitialize_region(0, 4 * MiB);
- Spinlock::release(&memory_map_lock);
+ lock.release();
/* Manually loop through and calculate the number of free blocks. */
for (uint32_t i = 0; i < MAX_BLOCKS / BITMAP_ENTRY_SIZE; i++)
@@ -155,12 +155,12 @@ allocate_block(void)
return NULL;
}
- Spinlock::acquire(&memory_map_lock);
+ lock.acquire();
uint32_t block = find_free_block();
set_used(block, &total_free_blocks, memory_map);
- Spinlock::release(&memory_map_lock);
+ lock.release();
uint32_t physical_address = block * BLOCK_SIZE;
return (void *) physical_address;