From 85ec38bb536863332485421d96315df443e2df2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Sat, 9 Oct 2004 12:17:54 +0000 Subject: [PATCH] Pass requested base address to MmAllocateSection() svn path=/trunk/; revision=11247 --- reactos/ntoskrnl/include/internal/mm.h | 2 +- reactos/ntoskrnl/ldr/loader.c | 5 +++-- reactos/ntoskrnl/mm/pagefile.c | 4 ++-- reactos/ntoskrnl/mm/section.c | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/reactos/ntoskrnl/include/internal/mm.h b/reactos/ntoskrnl/include/internal/mm.h index 737679a6f35..c6e070b4243 100644 --- a/reactos/ntoskrnl/include/internal/mm.h +++ b/reactos/ntoskrnl/include/internal/mm.h @@ -717,7 +717,7 @@ PMM_REGION MmFindRegion(PVOID BaseAddress, PLIST_ENTRY RegionListHead, PVOID Add /* section.c *****************************************************************/ PVOID STDCALL -MmAllocateSection (IN ULONG Length); +MmAllocateSection (IN ULONG Length, PVOID BaseAddress); NTSTATUS STDCALL MmQuerySectionView(PMEMORY_AREA MemoryArea, diff --git a/reactos/ntoskrnl/ldr/loader.c b/reactos/ntoskrnl/ldr/loader.c index 2629b3717b4..2d0dd257799 100644 --- a/reactos/ntoskrnl/ldr/loader.c +++ b/reactos/ntoskrnl/ldr/loader.c @@ -1,4 +1,4 @@ -/* $Id: loader.c,v 1.147 2004/10/04 17:27:13 hbirr Exp $ +/* $Id: loader.c,v 1.148 2004/10/09 12:17:53 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -776,7 +776,8 @@ LdrPEProcessModule(PVOID ModuleLoadBase, DPRINT("DriverSize %x, SizeOfImage %x\n",DriverSize, PENtHeaders->OptionalHeader.SizeOfImage); /* Allocate a virtual section for the module */ - DriverBase = MmAllocateSection(DriverSize); + DriverBase = NULL; + DriverBase = MmAllocateSection(DriverSize, DriverBase); if (DriverBase == 0) { CPRINT("Failed to allocate a virtual section for driver\n"); diff --git a/reactos/ntoskrnl/mm/pagefile.c b/reactos/ntoskrnl/mm/pagefile.c index b855bbabb46..e68c026178b 100644 --- a/reactos/ntoskrnl/mm/pagefile.c +++ b/reactos/ntoskrnl/mm/pagefile.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: pagefile.c,v 1.50 2004/08/15 16:39:08 chorns Exp $ +/* $Id: pagefile.c,v 1.51 2004/10/09 12:17:53 gvg Exp $ * * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/pagefile.c @@ -314,7 +314,7 @@ MmInitPagingFile(VOID) */ if (MmCoreDumpType != MM_CORE_DUMP_TYPE_NONE) { - MmCoreDumpPageFrame = MmAllocateSection(PAGE_SIZE); + MmCoreDumpPageFrame = MmAllocateSection(PAGE_SIZE, NULL); if (MmCoreDumpType == MM_CORE_DUMP_TYPE_FULL) { MmCoreDumpSize = MmStats.NrTotalPages * 4096 + 1024 * 1024; diff --git a/reactos/ntoskrnl/mm/section.c b/reactos/ntoskrnl/mm/section.c index f30cd9bada3..25c46a4290a 100644 --- a/reactos/ntoskrnl/mm/section.c +++ b/reactos/ntoskrnl/mm/section.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: section.c,v 1.164 2004/10/01 20:06:43 gvg Exp $ +/* $Id: section.c,v 1.165 2004/10/09 12:17:54 gvg Exp $ * * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/section.c @@ -3636,7 +3636,7 @@ NtExtendSection(IN HANDLE SectionHandle, * REVISIONS */ PVOID STDCALL -MmAllocateSection (IN ULONG Length) +MmAllocateSection (IN ULONG Length, PVOID BaseAddress) { PVOID Result; MEMORY_AREA* marea; @@ -3650,7 +3650,7 @@ MmAllocateSection (IN ULONG Length) BoundaryAddressMultiple.QuadPart = 0; AddressSpace = MmGetKernelAddressSpace(); - Result = NULL; + Result = BaseAddress; MmLockAddressSpace(AddressSpace); Status = MmCreateMemoryArea (NULL, AddressSpace,