mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
Remove more dead code from MmInit1. This nugget was trying to free memory allocations between 0x80F50000 and 0x80600000?
[FORMATTING] Make MmInitializePageList readable by human beings. Remove code in MmInitializePageList which was just repeating what MmInit1 had already done (why?). Remove alignment code which was duplicated (why??). svn path=/trunk/; revision=32354
This commit is contained in:
parent
ad3e1b7948
commit
7ea9f649ca
2 changed files with 204 additions and 245 deletions
|
@ -319,13 +319,6 @@ MmInitializePageList(ULONG_PTR FirstPhysKernelAddress,
|
|||
ULONG_PTR LastKernelAddress,
|
||||
PADDRESS_RANGE BIOSMemoryMap,
|
||||
ULONG AddressRangeCount)
|
||||
/*
|
||||
* FUNCTION: Initializes the page list with all pages free
|
||||
* except those known to be reserved and those used by the kernel
|
||||
* ARGUMENTS:
|
||||
* FirstKernelAddress = First physical address used by the kernel
|
||||
* LastKernelAddress = Last physical address used by the kernel
|
||||
*/
|
||||
{
|
||||
ULONG i;
|
||||
ULONG Reserved;
|
||||
|
@ -334,44 +327,23 @@ MmInitializePageList(ULONG_PTR FirstPhysKernelAddress,
|
|||
PFN_TYPE FirstUninitializedPage;
|
||||
ULONG PdeStart = PsGetCurrentProcess()->Pcb.DirectoryTableBase.LowPart;
|
||||
|
||||
DPRINT("MmInitializePageList(FirstPhysKernelAddress %x, "
|
||||
"LastPhysKernelAddress %x, "
|
||||
"MemorySizeInPages %x, LastKernelAddress %x)\n",
|
||||
FirstPhysKernelAddress,
|
||||
LastPhysKernelAddress,
|
||||
MemorySizeInPages,
|
||||
LastKernelAddress);
|
||||
|
||||
for (i = 0; i < MC_MAXIMUM; i++)
|
||||
{
|
||||
InitializeListHead(&UsedPageListHeads[i]);
|
||||
}
|
||||
KeInitializeSpinLock(&PageListLock);
|
||||
for (i = 0; i < MC_MAXIMUM; i++) InitializeListHead(&UsedPageListHeads[i]);
|
||||
InitializeListHead(&FreeUnzeroedPageListHead);
|
||||
InitializeListHead(&FreeZeroedPageListHead);
|
||||
InitializeListHead(&BiosPageListHead);
|
||||
|
||||
LastKernelAddress = PAGE_ROUND_UP(LastKernelAddress);
|
||||
LastPhysKernelAddress = (ULONG_PTR)PAGE_ROUND_UP(LastPhysKernelAddress);
|
||||
|
||||
MmPageArraySize = MemorySizeInPages;
|
||||
Reserved =
|
||||
PAGE_ROUND_UP((MmPageArraySize * sizeof(PHYSICAL_PAGE))) / PAGE_SIZE;
|
||||
MmPageArray = (PHYSICAL_PAGE *)LastKernelAddress;
|
||||
|
||||
Reserved = PAGE_ROUND_UP((MmPageArraySize * sizeof(PHYSICAL_PAGE))) / PAGE_SIZE;
|
||||
DPRINT("Reserved %d\n", Reserved);
|
||||
|
||||
LastKernelAddress = PAGE_ROUND_UP(LastKernelAddress);
|
||||
LastKernelAddress = ((ULONG_PTR)LastKernelAddress + (Reserved * PAGE_SIZE));
|
||||
LastPhysKernelAddress = (ULONG_PTR)PAGE_ROUND_UP(LastPhysKernelAddress);
|
||||
LastPhysKernelAddress = (ULONG_PTR)LastPhysKernelAddress + (Reserved * PAGE_SIZE);
|
||||
|
||||
MmStats.NrTotalPages = 0;
|
||||
MmStats.NrSystemPages = 0;
|
||||
MmStats.NrUserPages = 0;
|
||||
MmStats.NrReservedPages = 0;
|
||||
MmStats.NrFreePages = 0;
|
||||
MmStats.NrLockedPages = 0;
|
||||
|
||||
/* Preinitialize the Balancer because we need some pages for pte's */
|
||||
MmInitializeBalancer(MemorySizeInPages, 0);
|
||||
|
||||
|
@ -552,12 +524,9 @@ MmInitializePageList(ULONG_PTR FirstPhysKernelAddress,
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
KeInitializeEvent(&ZeroPageThreadEvent, NotificationEvent, TRUE);
|
||||
|
||||
MmStats.NrTotalPages = MmStats.NrFreePages + MmStats.NrSystemPages +
|
||||
MmStats.NrReservedPages + MmStats.NrUserPages;
|
||||
MmStats.NrTotalPages = MmStats.NrFreePages + MmStats.NrSystemPages + MmStats.NrReservedPages + MmStats.NrUserPages;
|
||||
MmInitializeBalancer(MmStats.NrFreePages, MmStats.NrSystemPages + MmStats.NrReservedPages);
|
||||
return((PVOID)LastKernelAddress);
|
||||
}
|
||||
|
|
|
@ -289,7 +289,6 @@ MmInit1(ULONG_PTR FirstKrnlPhysAddr,
|
|||
ULONG MaxMem)
|
||||
{
|
||||
ULONG kernel_len;
|
||||
ULONG_PTR MappingAddress;
|
||||
PLDR_DATA_TABLE_ENTRY LdrEntry;
|
||||
|
||||
/* Dump memory descriptors */
|
||||
|
@ -353,15 +352,6 @@ MmInit1(ULONG_PTR FirstKrnlPhysAddr,
|
|||
/* Unmap low memory */
|
||||
MmDeletePageTable(NULL, 0);
|
||||
|
||||
/* Unmap FreeLDR's 6MB allocation */
|
||||
DPRINT("Invalidating between %p and %p\n", LastKernelAddress, KSEG0_BASE + 0x00600000);
|
||||
for (MappingAddress = LastKernelAddress;
|
||||
MappingAddress < KSEG0_BASE + 0x00600000;
|
||||
MappingAddress += PAGE_SIZE)
|
||||
{
|
||||
MmRawDeleteVirtualMapping((PVOID)MappingAddress);
|
||||
}
|
||||
|
||||
/* Intialize memory areas */
|
||||
MmInitVirtualMemory(LastKernelAddress, kernel_len);
|
||||
|
||||
|
|
Loading…
Reference in a new issue