Update panic invocations with detailed error context
Все проверки выполнены успешно
Builds / ExectOS (amd64, release) (push) Successful in 28s
Builds / ExectOS (amd64, debug) (push) Successful in 30s
Builds / ExectOS (i686, debug) (push) Successful in 36s
Builds / ExectOS (i686, release) (push) Successful in 36s

Этот коммит содержится в:
2026-03-16 16:00:21 +01:00
родитель 184ce5735e
Коммит 3d7fe25471
2 изменённых файлов: 9 добавлений и 5 удалений

Просмотреть файл

@@ -105,7 +105,7 @@ MM::Manager::InitializeMemoryManager(VOID)
{
/* Insufficient physical pages, kernel panic */
DebugPrint(L"Insufficient physical pages! Install additional memory\n");
KE::Crash::Panic(0);
KE::Crash::Panic(0x7D, MM::Pfn::GetNumberOfPhysicalPages(), MM_MINIMUM_PHYSICAL_PAGES, 0x0, 0x2);
}
/* Compute page colors to reduce CPU cache conflicts */

Просмотреть файл

@@ -31,7 +31,11 @@ MM::Pfn::AllocateBootstrapPages(IN PFN_NUMBER NumberOfPages)
{
/* Not enough physical memory available, kernel panic */
DebugPrint(L"Insufficient physical pages! Install additional memory\n");
KE::Crash::Panic(0);
KE::Crash::Panic(0x7D,
NumberOfPhysicalPages,
FreeDescriptor->PageCount,
OriginalFreeDescriptor.PageCount,
NumberOfPages);
}
/* Allocate pages from the beginning of the free descriptor */
@@ -591,7 +595,7 @@ MM::Pfn::LinkPage(IN PMMPFNLIST ListHead,
MM::Paging::GetPteSoftwareTransition(&PageFrame->OriginalPte))
{
/* Crash system due to corrupted PFN/PTE state */
KE::Crash::Panic(0x71, 0x8888, 0, 0, 0);
KE::Crash::Panic(0x1A, 0x8888, 0, 0, 0);
}
}
@@ -806,7 +810,7 @@ MM::Pfn::LinkPfn(IN PFN_NUMBER PageFrameIndex,
if(Status != STATUS_SUCCESS)
{
/* Could not make the page table resident, crash system */
KE::Crash::Panic(0x1,
KE::Crash::Panic(0x1A,
(ULONG_PTR)0x61940,
(ULONG_PTR)PointerPte,
MM::Paging::GetPageFrameNumber(PointerPte),
@@ -1221,7 +1225,7 @@ MM::Pfn::ScanMemoryDescriptors(VOID)
if(!FreeDescriptor)
{
/* No free memory available to bootstrap the system */
KE::Crash::Panic(0);
KE::Crash::Panic(0x7D, LowestPhysicalPage, HighestPhysicalPage, FreePages, 0x1);
}
/* Save a copy of the original free descriptor before it gets modified */