summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/HALKit/AMD64/HalKernelPanic.cpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-07 05:48:47 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-03-07 05:49:22 +0100
commit556dfc1aa97b1f72792e46164d80601cd93c2b20 (patch)
tree6eb3c152045f42a639bfb7f400fd773f9e86c862 /src/kernel/HALKit/AMD64/HalKernelPanic.cpp
parent54340d14d5231c4756800a327b54ec285cb7662a (diff)
[CHORE] Filesystem and panic dump improvements.filesystem-kit-bump
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/HALKit/AMD64/HalKernelPanic.cpp')
-rw-r--r--src/kernel/HALKit/AMD64/HalKernelPanic.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/kernel/HALKit/AMD64/HalKernelPanic.cpp b/src/kernel/HALKit/AMD64/HalKernelPanic.cpp
index 8c498b68..827bc5c3 100644
--- a/src/kernel/HALKit/AMD64/HalKernelPanic.cpp
+++ b/src/kernel/HALKit/AMD64/HalKernelPanic.cpp
@@ -38,7 +38,27 @@ Void ke_panic(const Kernel::Int32& id, const Char* message) {
}
Void RecoveryFactory::Recover() {
+ STATIC BOOL alreadyDumped = NO;
+#if defined(__FSKIT_INCLUDES_OPENHEFS__)
+ if (alreadyDumped) {
+ HAL::rt_cli();
+ HAL::rt_halt();
+ }
+
+ alreadyDumped = YES;
+
+ HeFileSystemMgr mgr;
+ auto node = mgr.Open("/system/dump.dmp", "wb");
+
+
+ if (node && hal_read_cr2()) mgr.Write(node, hal_read_cr2(), 0, 0x100);
+ if (node) mm_free_ptr(node);
+
+ node = nullptr;
+#endif
+
while (YES) {
+ HAL::rt_cli();
HAL::rt_halt();
}
}