diff options
Diffstat (limited to 'dev/kernel/src')
| -rw-r--r-- | dev/kernel/src/CxxAbi-AMD64.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/CxxAbi-ARM64.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/FS/HeFS.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/FS/NeFS.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/KPC.cc (renamed from dev/kernel/src/LPC.cc) | 33 | ||||
| -rw-r--r-- | dev/kernel/src/MemoryMgr.cc | 6 | ||||
| -rw-r--r-- | dev/kernel/src/Network/IPCAddr.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/Network/IPCMsg.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/User.cc | 2 | ||||
| -rw-r--r-- | dev/kernel/src/UserProcessScheduler.cc | 2 |
10 files changed, 33 insertions, 22 deletions
diff --git a/dev/kernel/src/CxxAbi-AMD64.cc b/dev/kernel/src/CxxAbi-AMD64.cc index f0e57077..555c613f 100644 --- a/dev/kernel/src/CxxAbi-AMD64.cc +++ b/dev/kernel/src/CxxAbi-AMD64.cc @@ -8,7 +8,7 @@ #include <KernelKit/DebugOutput.h> #include <NewKit/CxxAbi.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> atexit_func_entry_t __atexit_funcs[kAtExitMacDestructors]; diff --git a/dev/kernel/src/CxxAbi-ARM64.cc b/dev/kernel/src/CxxAbi-ARM64.cc index b52be160..a24dfce3 100644 --- a/dev/kernel/src/CxxAbi-ARM64.cc +++ b/dev/kernel/src/CxxAbi-ARM64.cc @@ -8,7 +8,7 @@ #include <KernelKit/DebugOutput.h> #include <NewKit/CxxAbi.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> atexit_func_entry_t __atexit_funcs[kAtExitMacDestructors]; diff --git a/dev/kernel/src/FS/HeFS.cc b/dev/kernel/src/FS/HeFS.cc index 7615ed77..b6f1bede 100644 --- a/dev/kernel/src/FS/HeFS.cc +++ b/dev/kernel/src/FS/HeFS.cc @@ -10,7 +10,7 @@ #include <modules/ATA/ATA.h> #include <modules/Flash/Flash.h> #include <FSKit/HeFS.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> #include <NewKit/Crc32.h> #include <NewKit/KernelPanic.h> #include <NewKit/KString.h> diff --git a/dev/kernel/src/FS/NeFS.cc b/dev/kernel/src/FS/NeFS.cc index 00824122..5878067f 100644 --- a/dev/kernel/src/FS/NeFS.cc +++ b/dev/kernel/src/FS/NeFS.cc @@ -11,7 +11,7 @@ #include <modules/AHCI/AHCI.h> #include <modules/ATA/ATA.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> #include <NewKit/Crc32.h> #include <NewKit/KernelPanic.h> #include <NewKit/KString.h> diff --git a/dev/kernel/src/LPC.cc b/dev/kernel/src/KPC.cc index b6b2e11b..7081bf51 100644 --- a/dev/kernel/src/LPC.cc +++ b/dev/kernel/src/KPC.cc @@ -4,18 +4,37 @@ ------------------------------------------- */ -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> #include <NewKit/KernelPanic.h> +#include <KernelKit/MemoryMgr.h> namespace NeOS { STATIC Bool kRaiseOnBugCheck = false; /// @brief Does a system wide bug check. - /// @param void no params. + /// @param void no params are needed. /// @return if error-free: false, otherwise true. - Boolean err_bug_check(void) noexcept + Boolean err_bug_check_raise(Void) noexcept { + Char* ptr = new Char[512]; + + if (ptr == nullptr) + goto bug_check_fail; + + if (!mm_is_valid_heap(ptr)) + goto bug_check_fail; + + delete[] ptr; + + return Yes; + + bug_check_fail: + if (ptr) + delete[] ptr; + + ptr = nullptr; + if (kRaiseOnBugCheck) { ke_panic(RUNTIME_CHECK_BAD_BEHAVIOR); @@ -23,12 +42,4 @@ namespace NeOS return No; } - - /// @brief Tells if we should raise a bug check not. - /// @param void - /// @return void - Void err_bug_check_raise(Void) noexcept - { - kRaiseOnBugCheck = true; - } } // namespace NeOS diff --git a/dev/kernel/src/MemoryMgr.cc b/dev/kernel/src/MemoryMgr.cc index 4e13ea15..5e595b51 100644 --- a/dev/kernel/src/MemoryMgr.cc +++ b/dev/kernel/src/MemoryMgr.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ #include <KernelKit/DebugOutput.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> #include <KernelKit/MemoryMgr.h> #include <NewKit/Crc32.h> #include <NewKit/PageMgr.h> @@ -25,11 +25,11 @@ //! @brief Heap algorithm that serves as the main memory manager. #define kKernelHeapMagic (0xD4D75) -#define kKernelHeapAlignSz (__BIGGEST_ALIGNMENT__) +#define kKernelHeapAlignSz (4) namespace NeOS { - /// @brief Contains data structures and algorithms for the heap. + /// @brief Implementation details. namespace Detail { struct PACKED HEAP_INFORMATION_BLOCK; diff --git a/dev/kernel/src/Network/IPCAddr.cc b/dev/kernel/src/Network/IPCAddr.cc index 75a54a36..fb2d785a 100644 --- a/dev/kernel/src/Network/IPCAddr.cc +++ b/dev/kernel/src/Network/IPCAddr.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ #include <NetworkKit/IPC.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> #include <KernelKit/UserProcessScheduler.h> namespace NeOS diff --git a/dev/kernel/src/Network/IPCMsg.cc b/dev/kernel/src/Network/IPCMsg.cc index f5bec6f7..5c18fe9c 100644 --- a/dev/kernel/src/Network/IPCMsg.cc +++ b/dev/kernel/src/Network/IPCMsg.cc @@ -5,7 +5,7 @@ ------------------------------------------- */ #include <NetworkKit/IPC.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> #include <KernelKit/UserProcessScheduler.h> namespace NeOS diff --git a/dev/kernel/src/User.cc b/dev/kernel/src/User.cc index 3c23c59e..fab5da88 100644 --- a/dev/kernel/src/User.cc +++ b/dev/kernel/src/User.cc @@ -11,7 +11,7 @@ */ #include <KernelKit/User.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> #include <NewKit/KernelPanic.h> #include <KernelKit/FileMgr.h> #include <KernelKit/MemoryMgr.h> diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc index 1087ac6b..19861dbe 100644 --- a/dev/kernel/src/UserProcessScheduler.cc +++ b/dev/kernel/src/UserProcessScheduler.cc @@ -18,7 +18,7 @@ #include <ArchKit/ArchKit.h> #include <KernelKit/MemoryMgr.h> #include <NewKit/KString.h> -#include <KernelKit/LPC.h> +#include <KernelKit/KPC.h> ///! BUGS: 0 |
