aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/src')
-rw-r--r--arch/x86_64/src/boot/boot.s2
-rw-r--r--arch/x86_64/src/memory/heap/bump_allocator.cpp2
-rw-r--r--arch/x86_64/src/memory/heap/global_heap_allocator.cpp2
-rw-r--r--arch/x86_64/src/memory/heap/linked_list_allocator.cpp2
4 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86_64/src/boot/boot.s b/arch/x86_64/src/boot/boot.s
index 8d27ea1..2197dce 100644
--- a/arch/x86_64/src/boot/boot.s
+++ b/arch/x86_64/src/boot/boot.s
@@ -197,8 +197,10 @@ _start:
call enable_paging
call enable_sse
+ cli // Clears the interrupt flag during the GDT setup
lgdt (global_descriptor_table_pointer)
jmp $global_descriptor_table_code,$_transition_to_long_mode
+ // The interrupt flag is set in cpp after setting up the GDT
call halt
diff --git a/arch/x86_64/src/memory/heap/bump_allocator.cpp b/arch/x86_64/src/memory/heap/bump_allocator.cpp
index a9fb121..df95346 100644
--- a/arch/x86_64/src/memory/heap/bump_allocator.cpp
+++ b/arch/x86_64/src/memory/heap/bump_allocator.cpp
@@ -42,7 +42,7 @@ namespace teachos::arch::memory::heap
}
}
- auto bump_allocator::deallocate(void * pointer) -> void
+ auto bump_allocator::deallocate(void * pointer) noexcept -> void
{
if (pointer)
{
diff --git a/arch/x86_64/src/memory/heap/global_heap_allocator.cpp b/arch/x86_64/src/memory/heap/global_heap_allocator.cpp
index 235c544..c1ca160 100644
--- a/arch/x86_64/src/memory/heap/global_heap_allocator.cpp
+++ b/arch/x86_64/src/memory/heap/global_heap_allocator.cpp
@@ -10,7 +10,7 @@ namespace teachos::arch::memory::heap
auto global_heap_allocator::allocate(std::size_t size) -> void * { return get().allocate(size); }
- auto global_heap_allocator::deallocate(void * pointer) -> void { get().deallocate(pointer); }
+ auto global_heap_allocator::deallocate(void * pointer) noexcept -> void { get().deallocate(pointer); }
auto global_heap_allocator::register_heap_allocator(heap_allocator_type new_type) -> void
{
diff --git a/arch/x86_64/src/memory/heap/linked_list_allocator.cpp b/arch/x86_64/src/memory/heap/linked_list_allocator.cpp
index 9beb466..a824c8a 100644
--- a/arch/x86_64/src/memory/heap/linked_list_allocator.cpp
+++ b/arch/x86_64/src/memory/heap/linked_list_allocator.cpp
@@ -59,7 +59,7 @@ namespace teachos::arch::memory::heap
exception_handling::panic("[Linked List Allocator] Out of memory");
}
- auto linked_list_allocator::deallocate(void * pointer) -> void
+ auto linked_list_allocator::deallocate(void * pointer) noexcept -> void
{
mutex.lock();