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
Все проверки выполнены успешно
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
Этот коммит содержится в:
@@ -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 */
|
||||
|
||||
Ссылка в новой задаче
Block a user