summaryrefslogtreecommitdiff
path: root/kernel/lib/cxxabi.cpp
diff options
context:
space:
mode:
authorArseney300 <Arseney300@gmail.com>2026-04-11 17:48:52 +0700
committerArseney300 <Arseney300@gmail.com>2026-04-11 17:48:52 +0700
commit496246c92dabe6757480147016490ea6ae43bb66 (patch)
treecb922a0b1569410db44f6da17862b7e949df9fad /kernel/lib/cxxabi.cpp
parent2f95320e0859029f520d46f777591751dcd39634 (diff)
bastion: add Kernel, Processor, AcpiTables, DeviceTree classesHEADmaster
Kernel: main singleton object, that provide access to core kernel entities Processor: empty class, that will be used later for per-CPU entities AcpiTables: class for acpi access (can be obtained through the kernel object) DeviceTree: class for dt access (can be obtained through the kernel object)
Diffstat (limited to 'kernel/lib/cxxabi.cpp')
-rw-r--r--kernel/lib/cxxabi.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/kernel/lib/cxxabi.cpp b/kernel/lib/cxxabi.cpp
index e38813f..8a96628 100644
--- a/kernel/lib/cxxabi.cpp
+++ b/kernel/lib/cxxabi.cpp
@@ -14,6 +14,7 @@
#include <stddef.h>
#include <stdint.h>
+#include <kernel/kernel.h>
extern "C" {
@@ -22,14 +23,7 @@ extern "C" {
* This should never happen in correct code — it's a fatal error.
*/
[[noreturn]] void __cxa_pure_virtual() {
- /* TODO: call kernel_panic("pure virtual function called") */
- for (;;) {
- #if defined(__x86_64__)
- asm volatile("hlt");
- #elif defined(__aarch64__)
- asm volatile("wfi");
- #endif
- }
+ kernel::GetKernel().Panic("pure virtual function called");
}
/*