mirror of
https://github.com/reactos/reactos.git
synced 2025-04-27 17:10:22 +00:00
[NTOSKRNL] Remove duplicate fields from MEMORY_AREA
svn path=/trunk/; revision=75602
This commit is contained in:
parent
695d9ff51e
commit
7f3f55628a
3 changed files with 12 additions and 18 deletions
|
@ -200,17 +200,13 @@ typedef struct _ROS_SECTION_OBJECT
|
|||
};
|
||||
} ROS_SECTION_OBJECT, *PROS_SECTION_OBJECT;
|
||||
|
||||
#define MA_GetStartingAddress(_MemoryArea) ((_MemoryArea)->StartingVpn << PAGE_SHIFT)
|
||||
#define MA_GetEndingAddress(_MemoryArea) (((_MemoryArea)->EndingVpn + 1) << PAGE_SHIFT)
|
||||
#define MA_GetStartingAddress(_MemoryArea) (MemoryArea->VadNode.StartingVpn << PAGE_SHIFT)
|
||||
#define MA_GetEndingAddress(_MemoryArea) ((MemoryArea->VadNode.EndingVpn + 1) << PAGE_SHIFT)
|
||||
|
||||
typedef struct _MEMORY_AREA
|
||||
{
|
||||
MMVAD VadNode;
|
||||
ULONG_PTR StartingVpn;
|
||||
ULONG_PTR EndingVpn;
|
||||
struct _MEMORY_AREA *Parent;
|
||||
struct _MEMORY_AREA *LeftChild;
|
||||
struct _MEMORY_AREA *RightChild;
|
||||
|
||||
ULONG Type;
|
||||
ULONG Protect;
|
||||
ULONG Flags;
|
||||
|
|
|
@ -5383,10 +5383,10 @@ NtFreeVirtualMemory(IN HANDLE ProcessHandle,
|
|||
Vad->u.VadFlags.CommitCharge -= CommitReduction;
|
||||
// For ReactOS: shrink the corresponding memory area
|
||||
MemoryArea = MmLocateMemoryAreaByAddress(AddressSpace, (PVOID)StartingAddress);
|
||||
ASSERT(Vad->StartingVpn == MemoryArea->StartingVpn);
|
||||
ASSERT(Vad->EndingVpn == MemoryArea->EndingVpn);
|
||||
ASSERT(Vad->StartingVpn == MemoryArea->VadNode.StartingVpn);
|
||||
ASSERT(Vad->EndingVpn == MemoryArea->VadNode.EndingVpn);
|
||||
Vad->EndingVpn = (StartingAddress - 1) >> PAGE_SHIFT;
|
||||
MemoryArea->EndingVpn = Vad->EndingVpn;
|
||||
MemoryArea->VadNode.EndingVpn = Vad->EndingVpn;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -169,13 +169,11 @@ MmInsertMemoryArea(
|
|||
{
|
||||
PEPROCESS Process = MmGetAddressSpaceOwner(AddressSpace);
|
||||
|
||||
marea->VadNode.StartingVpn = marea->StartingVpn;
|
||||
marea->VadNode.EndingVpn = marea->EndingVpn;
|
||||
marea->VadNode.u.VadFlags.Spare = 1;
|
||||
marea->VadNode.u.VadFlags.Protection = MiMakeProtectionMask(marea->Protect);
|
||||
|
||||
/* Build a lame VAD if this is a user-space allocation */
|
||||
if (marea->EndingVpn + 1 < (ULONG_PTR)MmSystemRangeStart >> PAGE_SHIFT)
|
||||
if (marea->VadNode.EndingVpn + 1 < (ULONG_PTR)MmSystemRangeStart >> PAGE_SHIFT)
|
||||
{
|
||||
ASSERT(Process != NULL);
|
||||
if (marea->Type != MEMORY_AREA_OWNED_BY_ARM3)
|
||||
|
@ -354,7 +352,7 @@ MmFreeMemoryArea(
|
|||
//if (MemoryArea->VadNode.StartingVpn < (ULONG_PTR)MmSystemRangeStart >> PAGE_SHIFT
|
||||
if (MemoryArea->Vad)
|
||||
{
|
||||
ASSERT(MemoryArea->EndingVpn + 1 < (ULONG_PTR)MmSystemRangeStart >> PAGE_SHIFT);
|
||||
ASSERT(MemoryArea->VadNode.EndingVpn + 1 < (ULONG_PTR)MmSystemRangeStart >> PAGE_SHIFT);
|
||||
ASSERT(MemoryArea->Type == MEMORY_AREA_SECTION_VIEW || MemoryArea->Type == MEMORY_AREA_CACHE);
|
||||
|
||||
/* MmCleanProcessAddressSpace might have removed it (and this would be MmDeleteProcessAdressSpace) */
|
||||
|
@ -470,8 +468,8 @@ MmCreateMemoryArea(PMMSUPPORT AddressSpace,
|
|||
return STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
MemoryArea->StartingVpn = (ULONG_PTR)*BaseAddress >> PAGE_SHIFT;
|
||||
MemoryArea->EndingVpn = ((ULONG_PTR)*BaseAddress + tmpLength - 1) >> PAGE_SHIFT;
|
||||
MemoryArea->VadNode.StartingVpn = (ULONG_PTR)*BaseAddress >> PAGE_SHIFT;
|
||||
MemoryArea->VadNode.EndingVpn = ((ULONG_PTR)*BaseAddress + tmpLength - 1) >> PAGE_SHIFT;
|
||||
MmInsertMemoryArea(AddressSpace, MemoryArea);
|
||||
}
|
||||
else
|
||||
|
@ -508,8 +506,8 @@ MmCreateMemoryArea(PMMSUPPORT AddressSpace,
|
|||
}
|
||||
}
|
||||
|
||||
MemoryArea->StartingVpn = (ULONG_PTR)*BaseAddress >> PAGE_SHIFT;
|
||||
MemoryArea->EndingVpn = ((ULONG_PTR)*BaseAddress + tmpLength - 1) >> PAGE_SHIFT;
|
||||
MemoryArea->VadNode.StartingVpn = (ULONG_PTR)*BaseAddress >> PAGE_SHIFT;
|
||||
MemoryArea->VadNode.EndingVpn = ((ULONG_PTR)*BaseAddress + tmpLength - 1) >> PAGE_SHIFT;
|
||||
MmInsertMemoryArea(AddressSpace, MemoryArea);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue