diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-07 05:51:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-07 05:51:28 +0100 |
| commit | 1fc1b9c7e89d4691c82cc434d43bbfdc221cb5b1 (patch) | |
| tree | 6eb3c152045f42a639bfb7f400fd773f9e86c862 /src/kernel/HALKit/AMD64/HalKernelPanic.cpp | |
| parent | 54340d14d5231c4756800a327b54ec285cb7662a (diff) | |
| parent | 556dfc1aa97b1f72792e46164d80601cd93c2b20 (diff) | |
Merge pull request #126 from ne-foss-org/filesystem-kit-bump
[CHORE] Filesystem and panic dump improvements.
Diffstat (limited to 'src/kernel/HALKit/AMD64/HalKernelPanic.cpp')
| -rw-r--r-- | src/kernel/HALKit/AMD64/HalKernelPanic.cpp | 20 |
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(); } } |
