Portability fixes.
Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
Modified: trunk/reactos/ntoskrnl/include/internal/mm.h
Modified: trunk/reactos/ntoskrnl/include/internal/pool.h
Modified: trunk/reactos/ntoskrnl/ke/main.c
Modified: trunk/reactos/ntoskrnl/mm/RPoolMgr.h
Modified: trunk/reactos/ntoskrnl/mm/freelist.c
Modified: trunk/reactos/ntoskrnl/mm/kmap.c
Modified: trunk/reactos/ntoskrnl/mm/marea.c
Modified: trunk/reactos/ntoskrnl/mm/mdl.c
Modified: trunk/reactos/ntoskrnl/mm/mm.c
Modified: trunk/reactos/ntoskrnl/mm/mminit.c
Modified: trunk/reactos/ntoskrnl/mm/npool.c
Modified: trunk/reactos/ntoskrnl/mm/pagefile.c
Modified: trunk/reactos/ntoskrnl/mm/pageop.c
Modified: trunk/reactos/ntoskrnl/mm/section.c
_____
Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
--- trunk/reactos/ntoskrnl/include/internal/ke.h 2005-01-12
10:05:05 UTC (rev 12949)
+++ trunk/reactos/ntoskrnl/include/internal/ke.h 2005-01-12
10:05:31 UTC (rev 12950)
@@ -58,7 +58,7 @@
ULONG IpiRequest);
VOID
-KeIpiGenericCall(VOID STDCALL (*WorkerRoutine)(PVOID),
+KeIpiGenericCall(VOID (STDCALL *WorkerRoutine)(PVOID),
PVOID Argument);
/* next file
***************************************************************/
_____
Modified: trunk/reactos/ntoskrnl/include/internal/mm.h
--- trunk/reactos/ntoskrnl/include/internal/mm.h 2005-01-12
10:05:05 UTC (rev 12949)
+++ trunk/reactos/ntoskrnl/include/internal/mm.h 2005-01-12
10:05:31 UTC (rev 12950)
@@ -453,9 +453,9 @@
VOID MiShutdownMemoryManager(VOID);
-VOID MmInit1(ULONG FirstKernelPhysAddress,
- ULONG LastKernelPhysAddress,
- ULONG LastKernelAddress,
+VOID MmInit1(ULONG_PTR FirstKernelPhysAddress,
+ ULONG_PTR LastKernelPhysAddress,
+ ULONG_PTR LastKernelAddress,
PADDRESS_RANGE BIOSMemoryMap,
ULONG AddressRangeCount,
ULONG MaxMemInMeg);
@@ -507,11 +507,11 @@
/* mm.c
**********************************************************************/
NTSTATUS MmAccessFault(KPROCESSOR_MODE Mode,
- ULONG Address,
+ ULONG_PTR Address,
BOOLEAN FromMdl);
NTSTATUS MmNotPresentFault(KPROCESSOR_MODE Mode,
- ULONG Address,
+ ULONG_PTR Address,
BOOLEAN FromMdl);
/* anonmem.c
*****************************************************************/
@@ -633,10 +633,10 @@
ULONG MmGetLockCountPage(PFN_TYPE Page);
-PVOID MmInitializePageList(PVOID FirstPhysKernelAddress,
- PVOID LastPhysKernelAddress,
+PVOID MmInitializePageList(ULONG_PTR FirstPhysKernelAddress,
+ ULONG_PTR LastPhysKernelAddress,
ULONG MemorySizeInPages,
- ULONG LastKernelBase,
+ ULONG_PTR LastKernelBase,
PADDRESS_RANGE BIOSMemoryMap,
ULONG AddressRangeCount);
_____
Modified: trunk/reactos/ntoskrnl/include/internal/pool.h
--- trunk/reactos/ntoskrnl/include/internal/pool.h 2005-01-12
10:05:05 UTC (rev 12949)
+++ trunk/reactos/ntoskrnl/include/internal/pool.h 2005-01-12
10:05:31 UTC (rev 12950)
@@ -45,7 +45,7 @@
*/
#define MM_CACHE_LINE_SIZE 32
-#define MM_ROUND_UP(x,s) ((PVOID)(((ULONG)(x)+(s)-1) & ~((s)-1)))
-#define MM_ROUND_DOWN(x,s) ((PVOID)(((ULONG)(x)) & ~((s)-1)))
+#define MM_ROUND_UP(x,s) ((PVOID)(((ULONG_PTR)(x)+(s)-1) &
~((ULONG_PTR)(s)-1)))
+#define MM_ROUND_DOWN(x,s) ((PVOID)(((ULONG_PTR)(x)) &
~((ULONG_PTR)(s)-1)))
#endif /* __INTERNAL_POOL_H */
_____
Modified: trunk/reactos/ntoskrnl/ke/main.c
--- trunk/reactos/ntoskrnl/ke/main.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/ke/main.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -76,9 +76,9 @@
static CHAR KeLoaderCommandLine[256];
static ADDRESS_RANGE KeMemoryMap[64];
static ULONG KeMemoryMapRangeCount;
-static ULONG FirstKrnlPhysAddr;
-static ULONG LastKrnlPhysAddr;
-static ULONG LastKernelAddress;
+static ULONG_PTR FirstKrnlPhysAddr;
+static ULONG_PTR LastKrnlPhysAddr;
+static ULONG_PTR LastKernelAddress;
volatile BOOLEAN Initialized = FALSE;
extern ULONG MmCoreDumpType;
extern CHAR KiTimerSystemAuditing;
_____
Modified: trunk/reactos/ntoskrnl/mm/RPoolMgr.h
--- trunk/reactos/ntoskrnl/mm/RPoolMgr.h 2005-01-12 10:05:05 UTC
(rev 12949)
+++ trunk/reactos/ntoskrnl/mm/RPoolMgr.h 2005-01-12 10:05:31 UTC
(rev 12950)
@@ -13,16 +13,16 @@
typedef unsigned long rulong;
-#define R_IS_POOL_PTR(pool,ptr) (void*)(ptr) >= pool->UserBase &&
(char*)(ptr) < ((char*)pool->UserBase+pool->UserSize)
+#define R_IS_POOL_PTR(pool,ptr) (void*)(ptr) >= pool->UserBase &&
(ULONG_PTR)(ptr) < ((ULONG_PTR)pool->UserBase + pool->UserSize)
#define R_ASSERT_PTR(pool,ptr) ASSERT( R_IS_POOL_PTR(pool,ptr) )
#define R_ASSERT_SIZE(pool,sz) ASSERT( sz > (sizeof(R_USED)+2*R_RZ) &&
sz >= sizeof(R_FREE) && sz < pool->UserSize )
#ifndef R_ROUND_UP
-#define R_ROUND_UP(x,s) ((PVOID)(((rulong)(x)+(s)-1) & ~((s)-1)))
+#define R_ROUND_UP(x,s) ((PVOID)(((ULONG_PTR)(x)+(s)-1) &
~((ULONG_PTR)(s)-1)))
#endif//R_ROUND_UP
#ifndef R_ROUND_DOWN
-#define R_ROUND_DOWN(x,s) ((PVOID)(((rulong)(x)) & ~((s)-1)))
+#define R_ROUND_DOWN(x,s) ((PVOID)(((ULONG_PTR)(x)) &
~((ULONG_PTR)(s)-1)))
#endif//R_ROUND_DOWN
#ifndef R_QUEMIN
@@ -79,7 +79,7 @@
rulong Status : 2;
rulong Size;
#if R_STACK
- rulong LastOwnerStack[R_STACK];
+ ULONG_PTR LastOwnerStack[R_STACK];
#endif//R_STACK
struct _R_FREE* NextFree;
struct _R_FREE* PrevFree;
@@ -95,7 +95,7 @@
rulong Status : 2;
rulong Size;
#if R_STACK
- rulong LastOwnerStack[R_STACK];
+ ULONG_PTR LastOwnerStack[R_STACK];
#endif//R_STACK
struct _R_USED* NextUsed;
#if R_RZ
@@ -245,7 +245,7 @@
pool->FirstFree = Item->NextFree;
}
#if defined(DBG) || defined(KDBG)
- Item->NextFree = Item->PrevFree = (PR_FREE)0xDEADBEEF;
+ Item->NextFree = Item->PrevFree =
(PR_FREE)(ULONG_PTR)0xDEADBEEF;
#endif//DBG || KDBG
}
@@ -281,7 +281,7 @@
block->Status = 0;
RFreeFillStack ( block );
#if defined(DBG) || defined(KDBG)
- block->PrevFree = block->NextFree = (PR_FREE)0xDEADBEEF;
+ block->PrevFree = block->NextFree =
(PR_FREE)(ULONG_PTR)0xDEADBEEF;
#endif//DBG || KDBG
return block;
}
@@ -644,7 +644,7 @@
// now add the block to the used block list
#if defined(DBG) || defined(KDBG)
- Block->NextUsed = (PR_USED)0xDEADBEEF;
+ Block->NextUsed = (PR_USED)(ULONG_PTR)0xDEADBEEF;
#endif//R_USED_LIST
Block->Tag = Tag;
_____
Modified: trunk/reactos/ntoskrnl/mm/freelist.c
--- trunk/reactos/ntoskrnl/mm/freelist.c 2005-01-12 10:05:05 UTC
(rev 12949)
+++ trunk/reactos/ntoskrnl/mm/freelist.c 2005-01-12 10:05:31 UTC
(rev 12950)
@@ -284,10 +284,10 @@
PVOID INIT_FUNCTION
-MmInitializePageList(PVOID FirstPhysKernelAddress,
- PVOID LastPhysKernelAddress,
+MmInitializePageList(ULONG_PTR FirstPhysKernelAddress,
+ ULONG_PTR LastPhysKernelAddress,
ULONG MemorySizeInPages,
- ULONG LastKernelAddress,
+ ULONG_PTR LastKernelAddress,
PADDRESS_RANGE BIOSMemoryMap,
ULONG AddressRangeCount)
/*
@@ -331,9 +331,9 @@
DPRINT("Reserved %d\n", Reserved);
LastKernelAddress = PAGE_ROUND_UP(LastKernelAddress);
- LastKernelAddress = ((ULONG)LastKernelAddress + (Reserved *
PAGE_SIZE));
- LastPhysKernelAddress = (PVOID)PAGE_ROUND_UP(LastPhysKernelAddress);
- LastPhysKernelAddress = (char*)LastPhysKernelAddress + (Reserved *
PAGE_SIZE);
+ 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;
@@ -349,7 +349,7 @@
LastPage = MmPageArraySize;
for (i = 0; i < Reserved; i++)
{
- PVOID Address = (char*)(ULONG)MmPageArray + (i * PAGE_SIZE);
+ PVOID Address = (char*)MmPageArray + (i * PAGE_SIZE);
ULONG j, start, end;
if (!MmIsPagePresent(NULL, Address))
{
_____
Modified: trunk/reactos/ntoskrnl/mm/kmap.c
--- trunk/reactos/ntoskrnl/mm/kmap.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/kmap.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -32,7 +32,7 @@
ExUnmapPage(PVOID Addr)
{
KIRQL oldIrql;
- ULONG Base = ((char*)Addr - (char*)MM_KERNEL_MAP_BASE) / PAGE_SIZE;
+ ULONG_PTR Base = ((ULONG_PTR)Addr - (ULONG_PTR)MM_KERNEL_MAP_BASE) /
PAGE_SIZE;
DPRINT("ExUnmapPage(Addr %x)\n",Addr);
@@ -93,12 +93,12 @@
{
KIRQL oldlvl;
PVOID Addr;
- ULONG Base;
+ ULONG_PTR Base;
NTSTATUS Status;
KeAcquireSpinLock(&AllocMapLock, &oldlvl);
Base = RtlFindClearBitsAndSet(&AllocMap, 1, AllocMapHint);
- if (Base != 0xFFFFFFFF)
+ if (Base != (ULONG_PTR)-1)
{
AllocMapHint = Base + 1;
KeReleaseSpinLock(&AllocMapLock, oldlvl);
@@ -131,7 +131,7 @@
MiFreeNonPagedPoolRegion(PVOID Addr, ULONG Count, BOOLEAN Free)
{
ULONG i;
- ULONG Base = ((char*)Addr - (char*)MM_KERNEL_MAP_BASE) / PAGE_SIZE;
+ ULONG_PTR Base = ((char*)Addr - (char*)MM_KERNEL_MAP_BASE) /
PAGE_SIZE;
KIRQL oldlvl;
for (i = 0; i < Count; i++)
@@ -154,12 +154,12 @@
* FUNCTION: Allocates a region of pages within the nonpaged pool area
*/
{
- ULONG Base;
+ ULONG_PTR Base;
KIRQL oldlvl;
KeAcquireSpinLock(&AllocMapLock, &oldlvl);
Base = RtlFindClearBitsAndSet(&AllocMap, nr_pages, AllocMapHint);
- if (Base == 0xFFFFFFFF)
+ if (Base == (ULONG_PTR)-1)
{
DbgPrint("CRITICAL: Out of non-paged pool space\n");
KEBUGCHECK(0);
_____
Modified: trunk/reactos/ntoskrnl/mm/marea.c
--- trunk/reactos/ntoskrnl/mm/marea.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/marea.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -188,7 +188,7 @@
Node != NULL;
Node = MmIterateNextNode(Node))
{
- DbgPrint("Start %x End %x Attributes %x\n",
+ DbgPrint("Start %p End %p Attributes %x\n",
Node->StartingAddress, Node->EndingAddress,
Node->Attributes);
}
@@ -203,7 +203,7 @@
{
PMEMORY_AREA Node = AddressSpace->MemoryAreaRoot;
- DPRINT("MmLocateMemoryAreaByAddress(AddressSpace %x, Address %x)\n",
+ DPRINT("MmLocateMemoryAreaByAddress(AddressSpace %p, Address %p)\n",
AddressSpace, Address);
if (!(KdDebugState & KD_DEBUG_SCREEN))
@@ -217,13 +217,13 @@
Node = Node->RightChild;
else
{
- DPRINT("MmLocateMemoryAreaByAddress(%x): %x [%x - %x]\n",
+ DPRINT("MmLocateMemoryAreaByAddress(%p): %p [%p - %p]\n",
Address, Node, Node->StartingAddress,
Node->EndingAddress);
return Node;
}
}
- DPRINT("MmLocateMemoryAreaByAddress(%x): 0\n", Address);
+ DPRINT("MmLocateMemoryAreaByAddress(%p): 0\n", Address);
return NULL;
}
@@ -250,24 +250,24 @@
if (Node->StartingAddress >= Address &&
Node->StartingAddress < Extent)
{
- DPRINT("MmLocateMemoryAreaByRegion(%x - %x): %x - %x\n",
- Address, Address + Length, Node->StartingAddress,
+ DPRINT("MmLocateMemoryAreaByRegion(%p - %p): %p - %p\n",
+ Address, (ULONG_PTR)Address + Length,
Node->StartingAddress,
Node->EndingAddress);
return Node;
}
if (Node->EndingAddress > Address &&
Node->EndingAddress < Extent)
{
- DPRINT("MmLocateMemoryAreaByRegion(%x - %x): %x - %x\n",
- Address, Address + Length, Node->StartingAddress,
+ DPRINT("MmLocateMemoryAreaByRegion(%p - %p): %p - %p\n",
+ Address, (ULONG_PTR)Address + Length,
Node->StartingAddress,
Node->EndingAddress);
return Node;
}
if (Node->StartingAddress <= Address &&
Node->EndingAddress >= Extent)
{
- DPRINT("MmLocateMemoryAreaByRegion(%x - %x): %x - %x\n",
- Address, Address + Length, Node->StartingAddress,
+ DPRINT("MmLocateMemoryAreaByRegion(%p - %p): %p - %p\n",
+ Address, (ULONG_PTR)Address + Length,
Node->StartingAddress,
Node->EndingAddress);
return Node;
}
@@ -417,9 +417,9 @@
Node = AddressSpace->MemoryAreaRoot;
do
{
- DPRINT("marea->EndingAddress: %x Node->StartingAddress: %x\n",
+ DPRINT("marea->EndingAddress: %p Node->StartingAddress: %p\n",
marea->EndingAddress, Node->StartingAddress);
- DPRINT("marea->StartingAddress: %x Node->EndingAddress: %x\n",
+ DPRINT("marea->StartingAddress: %p Node->EndingAddress: %p\n",
marea->StartingAddress, Node->EndingAddress);
ASSERT(marea->EndingAddress <= Node->StartingAddress ||
marea->StartingAddress >= Node->EndingAddress);
@@ -467,7 +467,7 @@
MmVerifyMemoryAreas(AddressSpace);
- DPRINT("LowestAddress: %x HighestAddress: %x\n",
+ DPRINT("LowestAddress: %p HighestAddress: %p\n",
AddressSpace->LowestAddress, HighestAddress);
AlignedAddress = MM_ROUND_UP(AddressSpace->LowestAddress,
Granularity);
@@ -475,9 +475,9 @@
/* Special case for empty tree. */
if (AddressSpace->MemoryAreaRoot == NULL)
{
- if (HighestAddress - AlignedAddress
=
Length)
+ if ((ULONG_PTR)HighestAddress - (ULONG_PTR)AlignedAddress >=
Length)
{
- DPRINT("MmFindGapBottomUp: %x\n", AlignedAddress);
+ DPRINT("MmFindGapBottomUp: %p\n", AlignedAddress);
return AlignedAddress;
}
DPRINT("MmFindGapBottomUp: 0\n");
@@ -497,9 +497,9 @@
AlignedAddress = MM_ROUND_UP(PreviousNode->EndingAddress,
Granularity);
if (Node->StartingAddress > AlignedAddress &&
- Node->StartingAddress - AlignedAddress
=
Length)
+ (ULONG_PTR)Node->StartingAddress - (ULONG_PTR)AlignedAddress
= Length)
{
- DPRINT("MmFindGapBottomUp: %x\n", AlignedAddress);
+ DPRINT("MmFindGapBottomUp: %p\n", AlignedAddress);
return AlignedAddress;
}
@@ -508,18 +508,18 @@
/* Check if there is enough space after the last memory area. */
AlignedAddress = MM_ROUND_UP(PreviousNode->EndingAddress,
Granularity);
- if (HighestAddress - AlignedAddress
=
Length)
+ if ((ULONG_PTR)HighestAddress - (ULONG_PTR)AlignedAddress
= Length)
{
- DPRINT("MmFindGapBottomUp: %x\n", AlignedAddress);
+ DPRINT("MmFindGapBottomUp: %p\n", AlignedAddress);
return AlignedAddress;
}
/* Check if there is enough space before the first memory area. */
AlignedAddress = MM_ROUND_UP(AddressSpace->LowestAddress,
Granularity);
if (FirstNode->StartingAddress > AlignedAddress &&
- FirstNode->StartingAddress - AlignedAddress
=
Length)
+ (ULONG_PTR)FirstNode->StartingAddress -
(ULONG_PTR)AlignedAddress
= Length)
{
- DPRINT("MmFindGapBottomUp: %x\n", AlignedAddress);
+ DPRINT("MmFindGapBottomUp: %p\n", AlignedAddress);
return AlignedAddress;
}
@@ -542,10 +542,10 @@
MmVerifyMemoryAreas(AddressSpace);
- DPRINT("LowestAddress: %x HighestAddress: %x\n",
+ DPRINT("LowestAddress: %p HighestAddress: %p\n",
AddressSpace->LowestAddress, HighestAddress);
- AlignedAddress = MM_ROUND_DOWN(HighestAddress - Length + 1,
Granularity);
+ AlignedAddress = MM_ROUND_DOWN((ULONG_PTR)HighestAddress - Length +
1, Granularity);
/* Check for overflow. */
if (AlignedAddress > HighestAddress)
@@ -556,7 +556,7 @@
{
if (AlignedAddress >= (PVOID)AddressSpace->LowestAddress)
{
- DPRINT("MmFindGapTopDown: %x\n", AlignedAddress);
+ DPRINT("MmFindGapTopDown: %p\n", AlignedAddress);
return AlignedAddress;
}
DPRINT("MmFindGapTopDown: 0\n");
@@ -569,7 +569,7 @@
/* Check if there is enough space after the last memory area. */
if (Node->EndingAddress <= AlignedAddress)
{
- DPRINT("MmFindGapTopDown: %x\n", AlignedAddress);
+ DPRINT("MmFindGapTopDown: %p\n", AlignedAddress);
return AlignedAddress;
}
@@ -581,7 +581,7 @@
if (Node == NULL)
break;
- AlignedAddress = MM_ROUND_DOWN(PreviousNode->StartingAddress -
Length + 1, Granularity);
+ AlignedAddress =
MM_ROUND_DOWN((ULONG_PTR)PreviousNode->StartingAddress - Length + 1,
Granularity);
/* Check for overflow. */
if (AlignedAddress > PreviousNode->StartingAddress)
@@ -589,14 +589,14 @@
if (Node->EndingAddress <= AlignedAddress)
{
- DPRINT("MmFindGapTopDown: %x\n", AlignedAddress);
+ DPRINT("MmFindGapTopDown: %p\n", AlignedAddress);
return AlignedAddress;
}
PreviousNode = Node;
}
- AlignedAddress = MM_ROUND_DOWN(PreviousNode->StartingAddress -
Length + 1, Granularity);
+ AlignedAddress =
MM_ROUND_DOWN((ULONG_PTR)PreviousNode->StartingAddress - Length + 1,
Granularity);
/* Check for overflow. */
if (AlignedAddress > PreviousNode->StartingAddress)
@@ -604,7 +604,7 @@
if (AlignedAddress >= (PVOID)AddressSpace->LowestAddress)
{
- DPRINT("MmFindGapTopDown: %x\n", AlignedAddress);
+ DPRINT("MmFindGapTopDown: %p\n", AlignedAddress);
return AlignedAddress;
}
@@ -675,13 +675,15 @@
if (RightNeighbour)
{
- DPRINT("MmFindGapAtAddress: %x [%x]\n", Address,
RightNeighbour->StartingAddress - Address);
- return RightNeighbour->StartingAddress - Address;
+ DPRINT("MmFindGapAtAddress: %p [%p]\n", Address,
+ (ULONG_PTR)RightNeighbour->StartingAddress -
(ULONG_PTR)Address);
+ return (ULONG_PTR)RightNeighbour->StartingAddress -
(ULONG_PTR)Address;
}
else
{
- DPRINT("MmFindGapAtAddress: %x [%x]\n", Address, HighestAddress -
Address);
- return HighestAddress - Address;
+ DPRINT("MmFindGapAtAddress: %p [%p]\n", Address,
+ (ULONG_PTR)HighestAddress - (ULONG_PTR)Address);
+ return (ULONG_PTR)HighestAddress - (ULONG_PTR)Address;
}
}
@@ -726,7 +728,7 @@
PVOID FreePageContext)
{
PMEMORY_AREA *ParentReplace;
- PVOID Address;
+ ULONG_PTR Address;
PVOID EndAddress;
PEPROCESS CurrentProcess = PsGetCurrentProcess();
@@ -737,7 +739,9 @@
}
EndAddress = MM_ROUND_UP(MemoryArea->EndingAddress, PAGE_SIZE);
- for (Address = MemoryArea->StartingAddress; Address < EndAddress;
Address += PAGE_SIZE)
+ for (Address = (ULONG_PTR)MemoryArea->StartingAddress;
+ Address < (ULONG_PTR)EndAddress;
+ Address += PAGE_SIZE)
{
if (MemoryArea->Type == MEMORY_AREA_IO_MAPPING)
{
@@ -866,8 +870,8 @@
{
PMEMORY_AREA MemoryArea;
- DPRINT("MmFreeMemoryArea(AddressSpace %x, BaseAddress %x, "
- "FreePageContext %d)\n", AddressSpace, BaseAddress,
+ DPRINT("MmFreeMemoryArea(AddressSpace %p, BaseAddress %p, "
+ "FreePageContext %p)\n", AddressSpace, BaseAddress,
FreePageContext);
MmVerifyMemoryAreas(AddressSpace);
@@ -926,9 +930,9 @@
ULONG tmpLength;
PMEMORY_AREA MemoryArea;
- DPRINT("MmCreateMemoryArea(Type %d, BaseAddress %x, "
- "*BaseAddress %x, Length %x, Attributes %x, TopDown: %x, "
- "FixedAddress %x, Result %x)\n",
+ DPRINT("MmCreateMemoryArea(Type %d, BaseAddress %p, "
+ "*BaseAddress %p, Length %p, Attributes %x, TopDown: %x, "
+ "FixedAddress %x, Result %p)\n",
Type, BaseAddress, *BaseAddress, Length, Attributes, TopDown,
FixedAddress, Result);
@@ -988,7 +992,7 @@
RtlZeroMemory(MemoryArea, sizeof(MEMORY_AREA));
MemoryArea->Type = Type;
MemoryArea->StartingAddress = *BaseAddress;
- MemoryArea->EndingAddress = *BaseAddress + tmpLength;
+ MemoryArea->EndingAddress = (PVOID)((ULONG_PTR)*BaseAddress +
tmpLength);
MemoryArea->Attributes = Attributes;
MemoryArea->LockCount = 0;
MemoryArea->Process = Process;
@@ -999,7 +1003,7 @@
*Result = MemoryArea;
- DPRINT("MmCreateMemoryArea() succeeded (%x)\n", *BaseAddress);
+ DPRINT("MmCreateMemoryArea() succeeded (%p)\n", *BaseAddress);
return STATUS_SUCCESS;
}
_____
Modified: trunk/reactos/ntoskrnl/mm/mdl.c
--- trunk/reactos/ntoskrnl/mm/mdl.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/mdl.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -98,11 +98,11 @@
PVOID
MmGetMdlPageAddress(PMDL Mdl, PVOID Offset)
{
- PULONG MdlPages;
+ PPFN_NUMBER MdlPages;
- MdlPages = (PULONG)(Mdl + 1);
+ MdlPages = (PPFN_NUMBER)(Mdl + 1);
- return((PVOID)MdlPages[((ULONG)Offset) / PAGE_SIZE]);
+ return((PVOID)MdlPages[((ULONG_PTR)Offset) / PAGE_SIZE]);
}
@@ -123,8 +123,8 @@
*/
{
ULONG i;
- PULONG MdlPages;
- PFN_TYPE Page;
+ PPFN_NUMBER MdlPages;
+ PFN_NUMBER Page;
/*
* MmProbeAndLockPages MUST have been called to lock this mdl!
@@ -161,7 +161,7 @@
}
- MdlPages = (PULONG)(Mdl + 1);
+ MdlPages = (PPFN_NUMBER)(Mdl + 1);
for (i=0;
i<(PAGE_ROUND_UP(Mdl->ByteCount+Mdl->ByteOffset)/PAGE_SIZE); i++)
{
Page = MdlPages[i];
@@ -422,7 +422,7 @@
if (!MmIsPagePresent(NULL, Address))
{
- Status = MmNotPresentFault(Mode, (ULONG)Address, TRUE);
+ Status = MmNotPresentFault(Mode, (ULONG_PTR)Address, TRUE);
if (!NT_SUCCESS(Status))
{
for (j = 0; j < i; j++)
@@ -442,7 +442,7 @@
if ((Operation == IoWriteAccess || Operation == IoModifyAccess)
&&
(!(MmGetPageProtect(NULL, (PVOID)Address) & PAGE_READWRITE)))
{
- Status = MmAccessFault(Mode, (ULONG)Address, TRUE);
+ Status = MmAccessFault(Mode, (ULONG_PTR)Address, TRUE);
if (!NT_SUCCESS(Status))
{
for (j = 0; j < i; j++)
@@ -541,7 +541,7 @@
* mdl buffer must (at least) be in kernel space, thou this doesn't
* necesarely mean that the buffer in within _nonpaged_ kernel
space...
*/
- ASSERT((ULONG)Mdl->StartVa >= KERNEL_BASE);
+ ASSERT((ULONG_PTR)Mdl->StartVa >= KERNEL_BASE);
PageCount = PAGE_ROUND_UP(Mdl->ByteOffset + Mdl->ByteCount) /
PAGE_SIZE;
MdlPages = (PPFN_TYPE)(Mdl + 1);
_____
Modified: trunk/reactos/ntoskrnl/mm/mm.c
--- trunk/reactos/ntoskrnl/mm/mm.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/mm.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -55,7 +55,7 @@
if (ExGetPreviousMode() == UserMode)
{
- if ((ULONG)Dest >= KERNEL_BASE)
+ if ((ULONG_PTR)Dest >= KERNEL_BASE)
{
return(STATUS_ACCESS_VIOLATION);
}
@@ -76,7 +76,7 @@
if (ExGetPreviousMode() == UserMode)
{
- if ((ULONG)Src >= KERNEL_BASE)
+ if ((ULONG_PTR)Src >= KERNEL_BASE)
{
return(STATUS_ACCESS_VIOLATION);
}
@@ -177,7 +177,7 @@
MEMORY_AREA* MemoryArea;
PMADDRESS_SPACE AddressSpace;
- if ((ULONG)VirtualAddress >= KERNEL_BASE)
+ if ((ULONG_PTR)VirtualAddress >= KERNEL_BASE)
{
AddressSpace = MmGetKernelAddressSpace();
}
@@ -200,7 +200,7 @@
}
NTSTATUS MmAccessFault(KPROCESSOR_MODE Mode,
- ULONG Address, /* FiN TODO: Should be ULONG_PTR!
*/
+ ULONG_PTR Address,
BOOLEAN FromMdl)
{
PMADDRESS_SPACE AddressSpace;
@@ -322,7 +322,7 @@
}
NTSTATUS MmNotPresentFault(KPROCESSOR_MODE Mode,
- ULONG Address, /* FiN TODO: Should be
ULONG_PTR! */
+ ULONG_PTR Address,
BOOLEAN FromMdl)
{
PMADDRESS_SPACE AddressSpace;
_____
Modified: trunk/reactos/ntoskrnl/mm/mminit.c
--- trunk/reactos/ntoskrnl/mm/mminit.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/mminit.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -72,7 +72,7 @@
{}
VOID INIT_FUNCTION
-MmInitVirtualMemory(ULONG LastKernelAddress,
+MmInitVirtualMemory(ULONG_PTR LastKernelAddress,
ULONG KernelLength)
/*
* FUNCTION: Intialize the memory areas list
@@ -133,7 +133,7 @@
BoundaryAddressMultiple);
BaseAddress = (PVOID)KERNEL_BASE;
- Length = PAGE_ROUND_UP(((ULONG)&_text_end__)) - KERNEL_BASE;
+ Length = PAGE_ROUND_UP(((ULONG_PTR)&_text_end__)) - KERNEL_BASE;
ParamLength = ParamLength - Length;
/*
@@ -151,10 +151,10 @@
FALSE,
BoundaryAddressMultiple);
- BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)&_text_end__));
+ BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG_PTR)&_text_end__));
ASSERT(BaseAddress == (PVOID)&_init_start__);
- Length = PAGE_ROUND_UP(((ULONG)&_init_end__)) -
- PAGE_ROUND_UP(((ULONG)&_text_end__));
+ Length = PAGE_ROUND_UP(((ULONG_PTR)&_init_end__)) -
+ PAGE_ROUND_UP(((ULONG_PTR)&_text_end__));
ParamLength = ParamLength - Length;
MmCreateMemoryArea(NULL,
@@ -168,11 +168,11 @@
FALSE,
BoundaryAddressMultiple);
- Length = PAGE_ROUND_UP(((ULONG)&_bss_end__)) -
- PAGE_ROUND_UP(((ULONG)&_init_end__));
+ Length = PAGE_ROUND_UP(((ULONG_PTR)&_bss_end__)) -
+ PAGE_ROUND_UP(((ULONG_PTR)&_init_end__));
ParamLength = ParamLength - Length;
DPRINT("Length %x\n",Length);
- BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)&_init_end__));
+ BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG_PTR)&_init_end__));
DPRINT("BaseAddress %x\n",BaseAddress);
/*
@@ -190,8 +190,8 @@
FALSE,
BoundaryAddressMultiple);
- BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)&_bss_end__));
- Length = LastKernelAddress - (ULONG)BaseAddress;
+ BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG_PTR)&_bss_end__));
+ Length = LastKernelAddress - (ULONG_PTR)BaseAddress;
MmCreateMemoryArea(NULL,
MmGetKernelAddressSpace(),
MEMORY_AREA_SYSTEM,
@@ -277,9 +277,9 @@
}
VOID INIT_FUNCTION
-MmInit1(ULONG FirstKrnlPhysAddr,
- ULONG LastKrnlPhysAddr,
- ULONG LastKernelAddress,
+MmInit1(ULONG_PTR FirstKrnlPhysAddr,
+ ULONG_PTR LastKrnlPhysAddr,
+ ULONG_PTR LastKernelAddress,
PADDRESS_RANGE BIOSMemoryMap,
ULONG AddressRangeCount,
ULONG MaxMem)
@@ -289,12 +289,13 @@
{
ULONG i;
ULONG kernel_len;
+ ULONG_PTR MappingAddress;
#ifndef CONFIG_SMP
-
extern unsigned int unmap_me, unmap_me2, unmap_me3;
#endif
+ extern unsigned int pagetable_start, pagetable_end;
- DPRINT("MmInit1(FirstKrnlPhysAddr, %x, LastKrnlPhysAddr %x,
LastKernelAddress %x)\n",
+ DPRINT("MmInit1(FirstKrnlPhysAddr, %p, LastKrnlPhysAddr %p,
LastKernelAddress %p)\n",
FirstKrnlPhysAddr,
LastKrnlPhysAddr,
LastKernelAddress);
@@ -383,8 +384,9 @@
DbgPrint("Used memory %dKb\n", (MmStats.NrTotalPages * PAGE_SIZE) /
1024);
- LastKernelAddress =
(ULONG)MmInitializePageList((PVOID)FirstKrnlPhysAddr,
- (PVOID)LastKrnlPhysAddr,
+ LastKernelAddress = (ULONG_PTR)MmInitializePageList(
+ FirstKrnlPhysAddr,
+ LastKrnlPhysAddr,
MmStats.NrTotalPages,
PAGE_ROUND_UP(LastKernelAddress),
BIOSMemoryMap,
@@ -405,15 +407,18 @@
DPRINT("Invalidating between %x and %x\n",
LastKernelAddress, KERNEL_BASE + 0x00600000);
- for (i=(LastKernelAddress); i<KERNEL_BASE + 0x00600000;
i+=PAGE_SIZE)
+ for (MappingAddress = LastKernelAddress;
+ MappingAddress < KERNEL_BASE + 0x00600000;
+ MappingAddress += PAGE_SIZE)
{
- MmRawDeleteVirtualMapping((PVOID)(i));
+ MmRawDeleteVirtualMapping((PVOID)MappingAddress);
}
- extern unsigned int pagetable_start, pagetable_end;
- for (i = (ULONG_PTR)&pagetable_start; i < (ULONG_PTR)&pagetable_end;
i += PAGE_SIZE)
+ for (MappingAddress = (ULONG_PTR)&pagetable_start;
+ MappingAddress < (ULONG_PTR)&pagetable_end;
+ MappingAddress += PAGE_SIZE)
{
- MmDeleteVirtualMapping(NULL, (PVOID)i, FALSE, NULL, NULL);
+ MmDeleteVirtualMapping(NULL, (PVOID)MappingAddress, FALSE, NULL,
NULL);
}
DPRINT("Almost done MmInit()\n");
_____
Modified: trunk/reactos/ntoskrnl/mm/npool.c
--- trunk/reactos/ntoskrnl/mm/npool.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/npool.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -1235,11 +1235,11 @@
{
NTSTATUS Status;
PFN_TYPE Page[32];
- ULONG StartIndex, EndIndex;
+ ULONG_PTR StartIndex, EndIndex;
ULONG i, j, k;
- StartIndex = (ULONG)((char*)(PVOID)PAGE_ROUND_UP((ULONG)((char*)blk
+ BLOCK_HDR_SIZE)) - (char*)MiNonPagedPoolStart) / PAGE_SIZE;
- EndIndex = (ULONG)((char*)PAGE_ROUND_UP(end) -
(char*)MiNonPagedPoolStart) / PAGE_SIZE;
+ StartIndex = (ULONG_PTR)(PAGE_ROUND_UP((ULONG_PTR)blk +
BLOCK_HDR_SIZE - (ULONG_PTR)MiNonPagedPoolStart)) / PAGE_SIZE;
+ EndIndex = ((ULONG_PTR)PAGE_ROUND_UP(end) -
(ULONG_PTR)MiNonPagedPoolStart) / PAGE_SIZE;
for (i = StartIndex; i < EndIndex; i++)
@@ -1266,7 +1266,7 @@
}
}
Status = MmCreateVirtualMapping(NULL,
- MiNonPagedPoolStart + i *
PAGE_SIZE,
+
(PVOID)((ULONG_PTR)MiNonPagedPoolStart + i * PAGE_SIZE),
PAGE_READWRITE|PAGE_SYSTEM,
Page,
k);
@@ -1333,12 +1333,12 @@
* from alignment. If not, calculate forward to the next
alignment
* and see if we allocate there...
*/
- new_size = (ULONG)aligned_addr - (ULONG)addr + size;
- if ((ULONG)aligned_addr - (ULONG)addr < BLOCK_HDR_SIZE)
+ new_size = (ULONG_PTR)aligned_addr - (ULONG_PTR)addr +
size;
+ if ((ULONG_PTR)aligned_addr - (ULONG_PTR)addr <
BLOCK_HDR_SIZE)
{
/* not enough room for a free block header, add some
more bytes */
aligned_addr =
MM_ROUND_UP(block_to_address((BLOCK_HDR*)((char*)current +
BLOCK_HDR_SIZE)), alignment);
- new_size = (ULONG)aligned_addr - (ULONG)addr + size;
+ new_size = (ULONG_PTR)aligned_addr - (ULONG_PTR)addr +
size;
}
if (current->Size >= new_size &&
(best == NULL || current->Size < best->Size))
@@ -1382,9 +1382,9 @@
* if size-aligned, break off the preceding bytes into their
own block...
*/
previous = current;
- previous_size = (ULONG)blk - (ULONG)previous - BLOCK_HDR_SIZE;
+ previous_size = (ULONG_PTR)blk - (ULONG_PTR)previous -
BLOCK_HDR_SIZE;
current = blk;
- current_size -= ((ULONG)current - (ULONG)previous);
+ current_size -= ((ULONG_PTR)current - (ULONG_PTR)previous);
}
}
@@ -1393,7 +1393,7 @@
if (current_size >= size + BLOCK_HDR_SIZE + MM_POOL_ALIGNMENT)
{
/* create a new free block after our block, if the memory size is
= 4 byte for this block */
- next =
(BLOCK_HDR*)((ULONG)current + size + BLOCK_HDR_SIZE);
+ next = (BLOCK_HDR*)((ULONG_PTR)current + size + BLOCK_HDR_SIZE);
next_size = current_size - size - BLOCK_HDR_SIZE;
current_size = size;
end = (char*)next + BLOCK_HDR_SIZE;
@@ -1828,9 +1828,9 @@
/* the second block is the first free block */
blk = (BLOCK_HDR*)((char*)blk + BLOCK_HDR_SIZE + blk->Size);
memset(blk, 0, BLOCK_HDR_SIZE);
- memset((char*)blk + BLOCK_HDR_SIZE, 0x0cc, MiNonPagedPoolNrOfPages *
PAGE_SIZE - ((ULONG)blk + BLOCK_HDR_SIZE - (ULONG)MiNonPagedPoolStart));
+ memset((char*)blk + BLOCK_HDR_SIZE, 0x0cc, MiNonPagedPoolNrOfPages *
PAGE_SIZE - ((ULONG_PTR)blk + BLOCK_HDR_SIZE -
(ULONG_PTR)MiNonPagedPoolStart));
blk->Magic = BLOCK_HDR_FREE_MAGIC;
- blk->Size = MiNonPagedPoolLength - ((ULONG)blk + BLOCK_HDR_SIZE -
(ULONG)MiNonPagedPoolStart);
+ blk->Size = MiNonPagedPoolLength - ((ULONG_PTR)blk + BLOCK_HDR_SIZE
- (ULONG_PTR)MiNonPagedPoolStart);
blk->previous = (BLOCK_HDR*)MiNonPagedPoolStart;
add_to_free_list(blk);
#endif
_____
Modified: trunk/reactos/ntoskrnl/mm/pagefile.c
--- trunk/reactos/ntoskrnl/mm/pagefile.c 2005-01-12 10:05:05 UTC
(rev 12949)
+++ trunk/reactos/ntoskrnl/mm/pagefile.c 2005-01-12 10:05:31 UTC
(rev 12950)
@@ -532,7 +532,7 @@
Headers->BugCheckParameters[3] = BugCodeParameter4;
Headers->FaultingStackBase = (PVOID)Thread->Tcb.StackLimit;
Headers->FaultingStackSize =
- StackSize = (ULONG_PTR)(Thread->Tcb.StackBase -
Thread->Tcb.StackLimit);
+ StackSize = (ULONG_PTR)Thread->Tcb.StackBase -
(ULONG_PTR)Thread->Tcb.StackLimit;
Headers->PhysicalMemorySize = MmStats.NrTotalPages * PAGE_SIZE;
/* Initialize the dump device. */
_____
Modified: trunk/reactos/ntoskrnl/mm/pageop.c
--- trunk/reactos/ntoskrnl/mm/pageop.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/pageop.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -70,7 +70,7 @@
MmCheckForPageOp(PMEMORY_AREA MArea, ULONG Pid, PVOID Address,
PMM_SECTION_SEGMENT Segment, ULONG Offset)
{
- ULONG Hash;
+ ULONG_PTR Hash;
KIRQL oldIrql;
PMM_PAGEOP PageOp;
@@ -79,11 +79,11 @@
*/
if (MArea->Type == MEMORY_AREA_SECTION_VIEW)
{
- Hash = (((ULONG)Segment) | (((ULONG)Offset) / PAGE_SIZE));
+ Hash = (((ULONG_PTR)Segment) | (((ULONG_PTR)Offset) /
PAGE_SIZE));
}
else
{
- Hash = (((ULONG)Pid) | (((ULONG)Address) / PAGE_SIZE));
+ Hash = (((ULONG_PTR)Pid) | (((ULONG_PTR)Address) / PAGE_SIZE));
}
Hash = Hash % PAGEOP_HASH_TABLE_SIZE;
@@ -137,7 +137,7 @@
* pid, address pair.
*/
{
- ULONG Hash;
+ ULONG_PTR Hash;
KIRQL oldIrql;
PMM_PAGEOP PageOp;
@@ -146,11 +146,11 @@
*/
if (MArea->Type == MEMORY_AREA_SECTION_VIEW)
{
- Hash = (((ULONG)Segment) | (((ULONG)Offset) / PAGE_SIZE));
+ Hash = (((ULONG_PTR)Segment) | (((ULONG_PTR)Offset) /
PAGE_SIZE));
}
else
{
- Hash = (((ULONG)Pid) | (((ULONG)Address) / PAGE_SIZE));
+ Hash = (((ULONG_PTR)Pid) | (((ULONG_PTR)Address) / PAGE_SIZE));
}
Hash = Hash % PAGEOP_HASH_TABLE_SIZE;
_____
Modified: trunk/reactos/ntoskrnl/mm/section.c
--- trunk/reactos/ntoskrnl/mm/section.c 2005-01-12 10:05:05 UTC (rev
12949)
+++ trunk/reactos/ntoskrnl/mm/section.c 2005-01-12 10:05:31 UTC (rev
12950)
@@ -3265,8 +3265,8 @@
return(Status);
}
- if (0 !=
InterlockedCompareExchangeUL(&FileObject->SectionObjectPointer->ImageSec
tionObject,
- ImageSectionObject, 0))
+ if (NULL !=
InterlockedCompareExchangePointer(&FileObject->SectionObjectPointer->Ima
geSectionObject,
+ ImageSectionObject,
NULL))
{
/*
* An other thread has initialized the some image in the
background
@@ -4089,7 +4089,7 @@
KEBUGCHECK(0);
}
Status = MmCreateVirtualMapping (NULL,
- (PVOID)(Result + (i *
PAGE_SIZE)),
+ (PVOID)((ULONG_PTR)Result + (i *
PAGE_SIZE)),
PAGE_READWRITE,
&Page,
1);
@@ -4201,9 +4201,9 @@
{
if (!(SectionSegments[i].Characteristics &
IMAGE_SCN_TYPE_NOLOAD))
{
- ULONG MaxExtent;
- MaxExtent =
(ULONG)((char*)SectionSegments[i].VirtualAddress +
- SectionSegments[i].Length);
+ ULONG_PTR MaxExtent;
+ MaxExtent = (ULONG_PTR)SectionSegments[i].VirtualAddress +
+ SectionSegments[i].Length;
ImageSize = max(ImageSize, MaxExtent);
}
}