From e02c25872a51595954da9eb33a321a7d7ed7e5d2 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 30 Dec 2024 20:56:19 +0100 Subject: IMPL: Process scheduler and bit map mgr fixes. - Finally got it working, at least before execution, need to fix the VMMgr now. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/src/Heap.cc | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'dev/Kernel/src/Heap.cc') diff --git a/dev/Kernel/src/Heap.cc b/dev/Kernel/src/Heap.cc index 3f3d05c5..6f955078 100644 --- a/dev/Kernel/src/Heap.cc +++ b/dev/Kernel/src/Heap.cc @@ -136,7 +136,7 @@ namespace Kernel heap_info_ptr->fHeapSize = sz_fix; heap_info_ptr->fMagic = kKernelHeapMagic; - heap_info_ptr->fCRC32 = No; // dont fill it for now. + heap_info_ptr->fCRC32 = 0; // dont fill it for now. heap_info_ptr->fHeapPtr = reinterpret_cast(heap_info_ptr) + sizeof(Detail::HEAP_INFORMATION_BLOCK); heap_info_ptr->fPagePtr = No; heap_info_ptr->fWriteRead = wr; @@ -227,19 +227,6 @@ namespace Kernel return kErrorHeapNotPresent; } - if (heap_info_ptr->fCRC32 != 0) - { - if (heap_info_ptr->fCRC32 != - ke_calculate_crc32((Char*)heap_info_ptr->fHeapPtr, - heap_info_ptr->fHeapSize)) - { - if (!heap_info_ptr->fUser) - { - ke_panic(RUNTIME_CHECK_POINTER); - } - } - } - heap_info_ptr->fHeapSize = 0UL; heap_info_ptr->fPresent = No; heap_info_ptr->fHeapPtr = 0; @@ -275,6 +262,13 @@ namespace Kernel if (heap_info_ptr && heap_info_ptr->fPresent && heap_info_ptr->fMagic == kKernelHeapMagic) { + if (heap_info_ptr->fCRC32 != + ke_calculate_crc32((Char*)heap_info_ptr->fHeapPtr, + heap_info_ptr->fHeapSize)) + { + return No; + } + return Yes; } } -- cgit v1.2.3