Properly handle bad physical pages
Všechny kontroly byly úspěšné
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 27s
Všechny kontroly byly úspěšné
Builds / ExectOS (amd64, release) (push) Successful in 26s
Builds / ExectOS (amd64, debug) (push) Successful in 37s
Builds / ExectOS (i686, debug) (push) Successful in 37s
Builds / ExectOS (i686, release) (push) Successful in 27s
Tento commit je obsažen v:
@@ -260,6 +260,9 @@ MM::Pfn::LinkFreePage(IN PFN_NUMBER PageFrameIndex)
|
|||||||
/* Update cache attribute to not mapped */
|
/* Update cache attribute to not mapped */
|
||||||
PfnEntry->u3.e1.CacheAttribute = PfnNotMapped;
|
PfnEntry->u3.e1.CacheAttribute = PfnNotMapped;
|
||||||
|
|
||||||
|
/* Insert the page into the bad page list instead */
|
||||||
|
LinkPage(&BadPagesList, PageFrameIndex);
|
||||||
|
|
||||||
/* Do not add it to the free list */
|
/* Do not add it to the free list */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -693,8 +696,8 @@ MM::Pfn::ProcessMemoryDescriptor(IN PFN_NUMBER BasePage,
|
|||||||
switch(MemoryType)
|
switch(MemoryType)
|
||||||
{
|
{
|
||||||
case LoaderBad:
|
case LoaderBad:
|
||||||
/* This memory is marked as bad and should not be used */
|
/* This memory is marked as bad and should not be used, add it to the bad pages list */
|
||||||
UNIMPLEMENTED;
|
LinkPage(&BadPagesList, BasePage);
|
||||||
break;
|
break;
|
||||||
case LoaderXIPRom:
|
case LoaderXIPRom:
|
||||||
/* This memory range contains Read-Only Memory (ROM) */
|
/* This memory range contains Read-Only Memory (ROM) */
|
||||||
|
|||||||
Odkázat v novém úkolu
Zablokovat Uživatele