Author: tkreuzer
Date: Sat Sep 24 08:52:26 2011
New Revision: 53825
URL:
http://svn.reactos.org/svn/reactos?rev=53825&view=rev
Log:
[NTOSKRNL]
- Session space address layout is architecture specific, move its initialization into
MiInitializeSesseionSpaceLayout() in architecture specific file
- Use dedicated constants for setting MmSystemRangeStart, MmUserProbeAddress and
MmHighestUserAddress isnetad of making assumptions.
Modified:
trunk/reactos/ntoskrnl/include/internal/amd64/mm.h
trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c
trunk/reactos/ntoskrnl/mm/ARM3/miarm.h
trunk/reactos/ntoskrnl/mm/ARM3/mminit.c
trunk/reactos/ntoskrnl/mm/amd64/init.c
Modified: trunk/reactos/ntoskrnl/include/internal/amd64/mm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] Sat Sep 24 08:52:26
2011
@@ -11,6 +11,9 @@
#define PAE_PAGE_MASK(x) ((x)&(~0xfffLL))
/* Memory layout base addresses */
+#define MI_HIGHEST_USER_ADDRESS (PVOID)0x000007FFFFFEFFFFULL
+#define MI_USER_PROBE_ADDRESS (PVOID)0x000007FFFFFF0000ULL
+#define MI_DEFAULT_SYSTEM_RANGE_START (PVOID)0xFFFF080000000000ULL
#define HYPER_SPACE 0xFFFFF70000000000ULL
#define HYPER_SPACE_END 0xFFFFF77FFFFFFFFFULL
#define MI_SESSION_SPACE_MINIMUM (PVOID)0xFFFFF90000000000ULL
Modified: trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/i386/init…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/i386/init.c [iso-8859-1] Sat Sep 24 08:52:26 2011
@@ -29,9 +29,82 @@
MMPTE PrototypePte = {{(MM_READWRITE << MM_PTE_SOFTWARE_PROTECTION_BITS) |
PTE_PROTOTYPE | (MI_PTE_LOOKUP_NEEDED << PAGE_SHIFT)}};
-extern PFN_NUMBER MiNumberOfFreePages;
/* PRIVATE FUNCTIONS **********************************************************/
+
+VOID
+NTAPI
+INIT_FUNCTION
+MiInitializeSessionSpaceLayout()
+{
+ //
+ // Set the size of session view, pool, and image
+ //
+ MmSessionSize = MI_SESSION_SIZE;
+ MmSessionViewSize = MI_SESSION_VIEW_SIZE;
+ MmSessionPoolSize = MI_SESSION_POOL_SIZE;
+ MmSessionImageSize = MI_SESSION_IMAGE_SIZE;
+
+ //
+ // Set the size of system view
+ //
+ MmSystemViewSize = MI_SYSTEM_VIEW_SIZE;
+
+ //
+ // This is where it all ends
+ //
+ MiSessionImageEnd = (PVOID)PTE_BASE;
+
+ //
+ // This is where we will load Win32k.sys and the video driver
+ //
+ MiSessionImageStart = (PVOID)((ULONG_PTR)MiSessionImageEnd -
+ MmSessionImageSize);
+
+ //
+ // So the view starts right below the session working set (itself below
+ // the image area)
+ //
+ MiSessionViewStart = (PVOID)((ULONG_PTR)MiSessionImageEnd -
+ MmSessionImageSize -
+ MI_SESSION_WORKING_SET_SIZE -
+ MmSessionViewSize);
+
+ //
+ // Session pool follows
+ //
+ MiSessionPoolEnd = MiSessionViewStart;
+ MiSessionPoolStart = (PVOID)((ULONG_PTR)MiSessionPoolEnd -
+ MmSessionPoolSize);
+
+ //
+ // And it all begins here
+ //
+ MmSessionBase = MiSessionPoolStart;
+
+ //
+ // Sanity check that our math is correct
+ //
+ ASSERT((ULONG_PTR)MmSessionBase + MmSessionSize == PTE_BASE);
+
+ //
+ // Session space ends wherever image session space ends
+ //
+ MiSessionSpaceEnd = MiSessionImageEnd;
+
+ //
+ // System view space ends at session space, so now that we know where
+ // this is, we can compute the base address of system view space itself.
+ //
+ MiSystemViewStart = (PVOID)((ULONG_PTR)MmSessionBase -
+ MmSystemViewSize);
+
+ /* Compute the PTE addresses for all the addresses we carved out */
+ MiSessionImagePteStart = MiAddressToPte(MiSessionImageStart);
+ MiSessionImagePteEnd = MiAddressToPte(MiSessionImageEnd);
+ MiSessionBasePte = MiAddressToPte(MmSessionBase);
+ MiSessionLastPte = MiAddressToPte(MiSessionSpaceEnd);
+}
VOID
NTAPI
Modified: trunk/reactos/ntoskrnl/mm/ARM3/miarm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/miarm.h?r…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] Sat Sep 24 08:52:26 2011
@@ -28,6 +28,9 @@
#define MI_SYSTEM_VIEW_SIZE (16 * _1MB)
+#define MI_HIGHEST_USER_ADDRESS (PVOID)0x7FFEFFFF
+#define MI_USER_PROBE_ADDRESS (PVOID)0x7FFF0000
+#define MI_DEFAULT_SYSTEM_RANGE_START (PVOID)0x80000000
#define MI_SYSTEM_CACHE_WS_START (PVOID)0xC0C00000
#define MI_PAGED_POOL_START (PVOID)0xE1000000
#define MI_NONPAGED_POOL_END (PVOID)0xFFBE0000
@@ -526,6 +529,14 @@
extern ULONG MmSystemPageColor;
extern ULONG MmProcessColorSeed;
extern PMMWSL MmWorkingSetList;
+extern PFN_NUMBER MiNumberOfFreePages;
+extern SIZE_T MmSessionViewSize;
+extern SIZE_T MmSessionPoolSize;
+extern SIZE_T MmSessionImageSize;
+extern PVOID MiSystemViewStart;
+extern PVOID MiSessionPoolEnd; // 0xBE000000
+extern PVOID MiSessionPoolStart; // 0xBD000000
+extern PVOID MiSessionViewStart; // 0xBE000000
//
// Figures out the hardware bits for a PTE
@@ -910,6 +921,10 @@
IN PLOADER_PARAMETER_BLOCK LoaderBlock
);
+VOID
+NTAPI
+MiInitializeSessionSpaceLayout();
+
NTSTATUS
NTAPI
MiInitMachineDependent(
Modified: trunk/reactos/ntoskrnl/mm/ARM3/mminit.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/mminit.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/mminit.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/mminit.c [iso-8859-1] Sat Sep 24 08:52:26 2011
@@ -410,7 +410,7 @@
if (Descriptor->MemoryType != LoaderBad)
{
/* Count this in the total of pages */
- MmNumberOfPhysicalPages += Descriptor->PageCount;
+ MmNumberOfPhysicalPages += (PFN_COUNT)Descriptor->PageCount;
}
/* Check if this is the new lowest page */
@@ -1898,9 +1898,9 @@
//
// Define the basic user vs. kernel address space separation
//
- MmSystemRangeStart = (PVOID)KSEG0_BASE;
- MmUserProbeAddress = (ULONG_PTR)MmSystemRangeStart - 0x10000;
- MmHighestUserAddress = (PVOID)(MmUserProbeAddress - 1);
+ MmSystemRangeStart = (PVOID)MI_DEFAULT_SYSTEM_RANGE_START;
+ MmUserProbeAddress = (ULONG_PTR)MI_HIGHEST_USER_ADDRESS;
+ MmHighestUserAddress = (PVOID)MI_HIGHEST_USER_ADDRESS;
/* Highest PTE and PDE based on the addresses above */
MiHighestUserPte = MiAddressToPte(MmHighestUserAddress);
@@ -1922,73 +1922,8 @@
MmBootImageSize = (MmBootImageSize + PDE_MAPPED_VA - 1) & ~(PDE_MAPPED_VA -
1);
ASSERT((MmBootImageSize % PDE_MAPPED_VA) == 0);
- //
- // Set the size of session view, pool, and image
- //
- MmSessionSize = MI_SESSION_SIZE;
- MmSessionViewSize = MI_SESSION_VIEW_SIZE;
- MmSessionPoolSize = MI_SESSION_POOL_SIZE;
- MmSessionImageSize = MI_SESSION_IMAGE_SIZE;
-
- //
- // Set the size of system view
- //
- MmSystemViewSize = MI_SYSTEM_VIEW_SIZE;
-
- //
- // This is where it all ends
- //
- MiSessionImageEnd = (PVOID)PTE_BASE;
-
- //
- // This is where we will load Win32k.sys and the video driver
- //
- MiSessionImageStart = (PVOID)((ULONG_PTR)MiSessionImageEnd -
- MmSessionImageSize);
-
- //
- // So the view starts right below the session working set (itself below
- // the image area)
- //
- MiSessionViewStart = (PVOID)((ULONG_PTR)MiSessionImageEnd -
- MmSessionImageSize -
- MI_SESSION_WORKING_SET_SIZE -
- MmSessionViewSize);
-
- //
- // Session pool follows
- //
- MiSessionPoolEnd = MiSessionViewStart;
- MiSessionPoolStart = (PVOID)((ULONG_PTR)MiSessionPoolEnd -
- MmSessionPoolSize);
-
- //
- // And it all begins here
- //
- MmSessionBase = MiSessionPoolStart;
-
- //
- // Sanity check that our math is correct
- //
- ASSERT((ULONG_PTR)MmSessionBase + MmSessionSize == PTE_BASE);
-
- //
- // Session space ends wherever image session space ends
- //
- MiSessionSpaceEnd = MiSessionImageEnd;
-
- //
- // System view space ends at session space, so now that we know where
- // this is, we can compute the base address of system view space itself.
- //
- MiSystemViewStart = (PVOID)((ULONG_PTR)MmSessionBase -
- MmSystemViewSize);
-
- /* Compute the PTE addresses for all the addresses we carved out */
- MiSessionImagePteStart = MiAddressToPte(MiSessionImageStart);
- MiSessionImagePteEnd = MiAddressToPte(MiSessionImageEnd);
- MiSessionBasePte = MiAddressToPte(MmSessionBase);
- MiSessionLastPte = MiAddressToPte(MiSessionSpaceEnd);
+ /* Initialize session space address layout */
+ MiInitializeSessionSpaceLayout();
/* Initialize the user mode image list */
InitializeListHead(&MmLoadedUserImageList);
Modified: trunk/reactos/ntoskrnl/mm/amd64/init.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/amd64/init.c?r…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/amd64/init.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/amd64/init.c [iso-8859-1] Sat Sep 24 08:52:26 2011
@@ -40,16 +40,16 @@
/* Sizes */
///SIZE_T MmSessionSize = MI_SESSION_SIZE;
-SIZE_T MmSessionViewSize = MI_SESSION_VIEW_SIZE;
-SIZE_T MmSessionPoolSize = MI_SESSION_POOL_SIZE;
-SIZE_T MmSessionImageSize = MI_SESSION_IMAGE_SIZE;
-SIZE_T MmSystemViewSize = MI_SYSTEM_VIEW_SIZE;
+extern SIZE_T MmSessionViewSize;
+extern SIZE_T MmSessionPoolSize;
+extern SIZE_T MmSessionImageSize;
+extern SIZE_T MmSystemViewSize;
SIZE_T MiNonPagedSystemSize;
/* Address ranges */
-ULONG64 MmUserProbeAddress = 0x7FFFFFF0000ULL;
-PVOID MmHighestUserAddress = (PVOID)0x7FFFFFEFFFFULL;
-PVOID MmSystemRangeStart = (PVOID)0xFFFF080000000000ULL;
+//ULONG64 MmUserProbeAddress = 0x7FFFFFF0000ULL;
+//PVOID MmHighestUserAddress = (PVOID)0x7FFFFFEFFFFULL;
+//PVOID MmSystemRangeStart = (PVOID)0xFFFF080000000000ULL;
PVOID MmSessionBase; // FFFFF90000000000 = MiSessionPoolStart
PVOID MiSessionPoolStart; // FFFFF90000000000 = MiSessionPoolEnd -
MmSessionPoolSize
PVOID MiSessionPoolEnd; // = MiSessionViewStart
@@ -75,7 +75,6 @@
PMEMORY_ALLOCATION_DESCRIPTOR MxFreeDescriptor;
MEMORY_ALLOCATION_DESCRIPTOR MxOldFreeDescriptor;
-ULONG MiNumberDescriptors = 0;
PFN_NUMBER MiSystemPages = 0;
BOOLEAN MiIncludeType[LoaderMaximum];
@@ -88,90 +87,51 @@
/* FUNCTIONS *****************************************************************/
+VOID
+NTAPI
+INIT_FUNCTION
+MiInitializeSessionSpaceLayout()
+{
+ MmSessionViewSize = MI_SESSION_VIEW_SIZE;
+ MmSessionPoolSize = MI_SESSION_POOL_SIZE;
+ MmSessionImageSize = MI_SESSION_IMAGE_SIZE;
+ MmSystemViewSize = MI_SYSTEM_VIEW_SIZE;
+
+ /* Set up session space */
+ MiSessionSpaceEnd = (PVOID)MI_SESSION_SPACE_END;
+
+ /* This is where we will load Win32k.sys and the video driver */
+ MiSessionImageEnd = MiSessionSpaceEnd;
+ MiSessionImageStart = (PCHAR)MiSessionImageEnd - MmSessionImageSize;
+
+ /* The view starts right below the session working set (itself below
+ * the image area) */
+ MiSessionViewEnd = MI_SESSION_VIEW_END;
+ MiSessionViewStart = (PCHAR)MiSessionViewEnd - MmSessionViewSize;
+ ASSERT(IS_PAGE_ALIGNED(MiSessionViewStart));
+
+ /* Session pool follows */
+ MiSessionPoolEnd = MiSessionViewStart;
+ MiSessionPoolStart = (PCHAR)MiSessionPoolEnd - MmSessionPoolSize;
+ ASSERT(IS_PAGE_ALIGNED(MiSessionPoolStart));
+
+ /* And it all begins here */
+ MmSessionBase = MiSessionPoolStart;
+
+ /* System view space ends at session space, so now that we know where
+ * this is, we can compute the base address of system view space itself. */
+ MiSystemViewStart = (PCHAR)MmSessionBase - MmSystemViewSize;
+ ASSERT(IS_PAGE_ALIGNED(MiSystemViewStart));
+
+ /* Sanity checks */
+ ASSERT(MiSessionViewEnd <= MiSessionImageStart);
+ ASSERT(MmSessionBase <= MiSessionPoolStart);
+}
+
ULONG
NoDbgPrint(const char *Format, ...)
{
return 0;
-}
-
-VOID
-NTAPI
-MiEvaluateMemoryDescriptors(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
-{
- PMEMORY_ALLOCATION_DESCRIPTOR Descriptor;
- PLIST_ENTRY ListEntry;
- PFN_NUMBER LastPage;
- ULONG i;
-
- /* Get the size of the boot loader's image allocations */
- MmBootImageSize = KeLoaderBlock->Extension->LoaderPagesSpanned * PAGE_SIZE;
- MmBootImageSize = ROUND_UP(MmBootImageSize, 4 * 1024 * 1024);
-
- /* Instantiate memory that we don't consider RAM/usable */
- for (i = 0; i < LoaderMaximum; i++) MiIncludeType[i] = TRUE;
- MiIncludeType[LoaderBad] = FALSE;
- MiIncludeType[LoaderFirmwarePermanent] = FALSE;
- MiIncludeType[LoaderSpecialMemory] = FALSE;
- MiIncludeType[LoaderBBTMemory] = FALSE;
-
- /* Loop the memory descriptors */
- for (ListEntry = LoaderBlock->MemoryDescriptorListHead.Flink;
- ListEntry != &LoaderBlock->MemoryDescriptorListHead;
- ListEntry = ListEntry->Flink)
- {
- /* Get the memory descriptor */
- Descriptor = CONTAINING_RECORD(ListEntry,
- MEMORY_ALLOCATION_DESCRIPTOR,
- ListEntry);
-
- /* Count it */
- MiNumberDescriptors++;
-
- /* Skip pages that are not part of the PFN database */
- if (!MiIncludeType[Descriptor->MemoryType])
- {
- continue;
- }
-
- /* Add this to the total of pages */
- MmNumberOfPhysicalPages += (PFN_COUNT)Descriptor->PageCount;
-
- /* Check if this is the new lowest page */
- if (Descriptor->BasePage < MmLowestPhysicalPage)
- {
- /* Update the lowest page */
- MmLowestPhysicalPage = Descriptor->BasePage;
- }
-
- /* Check if this is the new highest page */
- LastPage = Descriptor->BasePage + Descriptor->PageCount - 1;
- if (LastPage > MmHighestPhysicalPage)
- {
- /* Update the highest page */
- MmHighestPhysicalPage = LastPage;
- }
-
- /* Check if this is currently free memory */
- if ((Descriptor->MemoryType == LoaderFree) ||
- (Descriptor->MemoryType == LoaderLoadedProgram) ||
- (Descriptor->MemoryType == LoaderFirmwareTemporary) ||
- (Descriptor->MemoryType == LoaderOsloaderStack))
- {
- /* Check if this is the largest memory descriptor */
- if (Descriptor->PageCount > MxFreePageCount)
- {
- /* For now, it is */
- MxFreeDescriptor = Descriptor;
- MxFreePageBase = Descriptor->BasePage;
- MxFreePageCount = Descriptor->PageCount;
- }
- }
- else
- {
- /* Add it to the amount of system used pages */
- MiSystemPages += Descriptor->PageCount;
- }
- }
}
PFN_NUMBER
@@ -342,41 +302,6 @@
VOID
-NTAPI
-MiInitializeSessionSpace(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
-{
- /* Set up session space */
- MiSessionSpaceEnd = (PVOID)MI_SESSION_SPACE_END;
-
- /* This is where we will load Win32k.sys and the video driver */
- MiSessionImageEnd = MiSessionSpaceEnd;
- MiSessionImageStart = (PCHAR)MiSessionImageEnd - MmSessionImageSize;
-
- /* The view starts right below the session working set (itself below
- * the image area) */
- MiSessionViewEnd = MI_SESSION_VIEW_END;
- MiSessionViewStart = (PCHAR)MiSessionViewEnd - MmSessionViewSize;
- ASSERT(IS_PAGE_ALIGNED(MiSessionViewStart));
-
- /* Session pool follows */
- MiSessionPoolEnd = MiSessionViewStart;
- MiSessionPoolStart = (PCHAR)MiSessionPoolEnd - MmSessionPoolSize;
- ASSERT(IS_PAGE_ALIGNED(MiSessionPoolStart));
-
- /* And it all begins here */
- MmSessionBase = MiSessionPoolStart;
-
- /* System view space ends at session space, so now that we know where
- * this is, we can compute the base address of system view space itself. */
- MiSystemViewStart = (PCHAR)MmSessionBase - MmSystemViewSize;
- ASSERT(IS_PAGE_ALIGNED(MiSystemViewStart));
-
- /* Sanity checks */
- ASSERT(MiSessionViewEnd <= MiSessionImageStart);
- ASSERT(MmSessionBase <= MiSessionPoolStart);
-}
-
-VOID
MiInitializePageTable()
{
ULONG64 PxePhysicalAddress;
@@ -603,92 +528,6 @@
/* Set the counter to maximum */
MiFirstReservedZeroingPte->u.Hard.PageFrameNumber = MI_ZERO_PTES - 1;
-}
-
-VOID
-NTAPI
-MiBuildPhysicalMemoryBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
-{
- PPHYSICAL_MEMORY_DESCRIPTOR Buffer;
- PMEMORY_ALLOCATION_DESCRIPTOR Descriptor;
- PLIST_ENTRY ListEntry;
- PFN_NUMBER NextPage = -1;
- PULONG Bitmap;
- ULONG Runs = 0;
- ULONG_PTR Size;
-
- /* Calculate size for the PFN bitmap */
- Size = ROUND_UP(MmHighestPhysicalPage + 1, sizeof(ULONG));
-
- /* Allocate the PFN bitmap */
- Bitmap = ExAllocatePoolWithTag(NonPagedPool, Size, ' mM');
-
- /* Allocate enough memory for the physical memory block */
- Buffer = ExAllocatePoolWithTag(NonPagedPool,
- sizeof(PHYSICAL_MEMORY_DESCRIPTOR) +
- sizeof(PHYSICAL_MEMORY_RUN) *
- (MiNumberDescriptors - 1),
- 'lMmM');
- if (!Bitmap || !Buffer)
- {
- /* This is critical */
- KeBugCheckEx(INSTALL_MORE_MEMORY,
- MmNumberOfPhysicalPages,
- MmLowestPhysicalPage,
- MmHighestPhysicalPage,
- 0x101);
- }
-
- /* Initialize the bitmap and clear all bits */
- RtlInitializeBitMap(&MiPfnBitMap,
- Bitmap,
- (ULONG)MmHighestPhysicalPage + 1);
- RtlClearAllBits(&MiPfnBitMap);
-
- /* Loop the memory descriptors */
- for (ListEntry = LoaderBlock->MemoryDescriptorListHead.Flink;
- ListEntry != &LoaderBlock->MemoryDescriptorListHead;
- ListEntry = ListEntry->Flink)
- {
- /* Get the memory descriptor */
- Descriptor = CONTAINING_RECORD(ListEntry,
- MEMORY_ALLOCATION_DESCRIPTOR,
- ListEntry);
-
- /* Skip pages that are not part of the PFN database */
- if (!MiIncludeType[Descriptor->MemoryType])
- {
- continue;
- }
-
- /* Does the memory block begin where the last ended? */
- if (Descriptor->BasePage == NextPage)
- {
- /* Add it to the current run */
- Buffer->Run[Runs - 1].PageCount += Descriptor->PageCount;
- }
- else
- {
- /* Create a new run */
- Runs++;
- Buffer->Run[Runs - 1].BasePage = Descriptor->BasePage;
- Buffer->Run[Runs - 1].PageCount = Descriptor->PageCount;
- }
-
- /* Set the bits in the PFN bitmap */
- RtlSetBits(&MiPfnBitMap,
- (ULONG)Descriptor->BasePage,
- (ULONG)Descriptor->PageCount);
-
- /* Set the next page */
- NextPage = Descriptor->BasePage + Descriptor->PageCount;
- }
-
- // FIXME: allocate a buffer of better size
-
- Buffer->NumberOfRuns = Runs;
- Buffer->NumberOfPages = MmNumberOfPhysicalPages;
- MmPhysicalMemoryBlock = Buffer;
}
VOID
@@ -824,16 +663,13 @@
MmBootImageSize = ROUND_UP(MmBootImageSize, PAGE_SIZE);
/* Parse memory descriptors, find free pages */
- MiEvaluateMemoryDescriptors(LoaderBlock);
+ //MiEvaluateMemoryDescriptors(LoaderBlock);
/* Start PFN database at hardcoded address */
MmPfnDatabase = MI_PFN_DATABASE;
/* Prepare PFN database mappings */
MiPreparePfnDatabse(LoaderBlock);
-
- /* Initialize the session space */
- MiInitializeSessionSpace(LoaderBlock);
/* Initialize some mappings */
MiInitializePageTable();
@@ -859,7 +695,7 @@
MiBuildSystemPteSpace();
/* Build the physical memory block */
- MiBuildPhysicalMemoryBlock(LoaderBlock);
+ //MiBuildPhysicalMemoryBlock(LoaderBlock);
/* Size up paged pool and build the shadow system page directory */
//MiBuildPagedPool();