Use UnknownType page usage for the pfn pages
This commit is contained in:
parent
216b5c274e
commit
0a3dd68191
|
@ -248,7 +248,7 @@ void VMManager::InitializeSystemAllocations()
|
||||||
}
|
}
|
||||||
addr = (VAddr)CONVERT_PFN_TO_CONTIGUOUS_PHYSICAL(pfn);
|
addr = (VAddr)CONVERT_PFN_TO_CONTIGUOUS_PHYSICAL(pfn);
|
||||||
|
|
||||||
AllocateContiguousMemoryInternal(pfn_end - pfn + 1, pfn, pfn_end, 1, XBOX_PAGE_READWRITE);
|
AllocateContiguousMemoryInternal(pfn_end - pfn + 1, pfn, pfn_end, 1, XBOX_PAGE_READWRITE, UnknownType);
|
||||||
PersistMemory(addr, (pfn_end - pfn + 1) << PAGE_SHIFT, true);
|
PersistMemory(addr, (pfn_end - pfn + 1) << PAGE_SHIFT, true);
|
||||||
if (m_MmLayoutDebug) { m_PhysicalPagesAvailable += 16; m_DebuggerPagesAvailable -= 16; }
|
if (m_MmLayoutDebug) { m_PhysicalPagesAvailable += 16; m_DebuggerPagesAvailable -= 16; }
|
||||||
|
|
||||||
|
@ -855,7 +855,7 @@ VAddr VMManager::AllocateContiguousMemory(size_t Size, PAddr LowestAddress, PAdd
|
||||||
RETURN(Addr);
|
RETURN(Addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
VAddr VMManager::AllocateContiguousMemoryInternal(PFN_COUNT NumberOfPages, PFN LowestPfn, PFN HighestPfn, PFN PfnAlignment, DWORD Perms)
|
VAddr VMManager::AllocateContiguousMemoryInternal(PFN_COUNT NumberOfPages, PFN LowestPfn, PFN HighestPfn, PFN PfnAlignment, DWORD Perms, PageType BusyType)
|
||||||
{
|
{
|
||||||
MMPTE TempPte;
|
MMPTE TempPte;
|
||||||
PMMPTE PointerPte;
|
PMMPTE PointerPte;
|
||||||
|
@ -884,7 +884,7 @@ VAddr VMManager::AllocateContiguousMemoryInternal(PFN_COUNT NumberOfPages, PFN L
|
||||||
EndingPte = PointerPte + NumberOfPages - 1;
|
EndingPte = PointerPte + NumberOfPages - 1;
|
||||||
|
|
||||||
WritePte(PointerPte, EndingPte, TempPte, pfn);
|
WritePte(PointerPte, EndingPte, TempPte, pfn);
|
||||||
WritePfn(pfn, EndingPfn, PointerPte, ContiguousType);
|
WritePfn(pfn, EndingPfn, PointerPte, BusyType);
|
||||||
EndingPte->Hardware.GuardOrEnd = 1;
|
EndingPte->Hardware.GuardOrEnd = 1;
|
||||||
|
|
||||||
ConstructVMA(addr, NumberOfPages << PAGE_SHIFT, ContiguousRegion, AllocatedVma, false);
|
ConstructVMA(addr, NumberOfPages << PAGE_SHIFT, ContiguousRegion, AllocatedVma, false);
|
||||||
|
|
|
@ -167,7 +167,7 @@ class VMManager : public PhysicalMemory
|
||||||
void* m_PersistentMemoryHandle = nullptr;
|
void* m_PersistentMemoryHandle = nullptr;
|
||||||
|
|
||||||
// same as AllocateContiguousMemory, but it allows to allocate beyond m_MaxContiguousPfn
|
// same as AllocateContiguousMemory, but it allows to allocate beyond m_MaxContiguousPfn
|
||||||
VAddr AllocateContiguousMemoryInternal(PFN_COUNT NumberOfPages, PFN LowestPfn, PFN HighestPfn, PFN PfnAlignment, DWORD Perms);
|
VAddr AllocateContiguousMemoryInternal(PFN_COUNT NumberOfPages, PFN LowestPfn, PFN HighestPfn, PFN PfnAlignment, DWORD Perms, PageType BusyType = ContiguousType);
|
||||||
// set up the system allocations
|
// set up the system allocations
|
||||||
void InitializeSystemAllocations();
|
void InitializeSystemAllocations();
|
||||||
// initializes a memory region struct
|
// initializes a memory region struct
|
||||||
|
|
Loading…
Reference in New Issue