extern ULONG NtOSCSDVersion;
extern ULONG NtGlobalFlag;
+#define MM_HIGHEST_VAD_ADDRESS \
+ (PVOID)((ULONG_PTR)MM_HIGHEST_USER_ADDRESS - (16 * PAGE_SIZE))
+
/* FUNCTIONS *****************************************************************/
PVOID
NTSTATUS Status;
KAFFINITY ProcessAffinityMask = 0;
SectionOffset.QuadPart = (ULONGLONG)0;
-
DPRINT("MmCreatePeb\n");
/* Allocate the PEB */
- Peb = MiCreatePebOrTeb(Process, (PVOID)PEB_BASE);
- if (Peb != (PVOID)PEB_BASE)
- {
- DPRINT1("MiCreatePebOrTeb() returned %x\n", Peb);
- return STATUS_UNSUCCESSFUL;
- }
+ Peb = MiCreatePebOrTeb(Process,
+ (PVOID)((ULONG_PTR)MM_HIGHEST_VAD_ADDRESS + 1));
+ ASSERT(Peb == (PVOID)0x7FFDF000)
/* Map NLS Tables */
DPRINT("Mapping NLS\n");
}
/* Allocate the TEB */
- Teb = MiCreatePebOrTeb(Process, (PVOID)TEB_BASE);
+ Teb = MiCreatePebOrTeb(Process,
+ (PVOID)((ULONG_PTR)MM_HIGHEST_VAD_ADDRESS + 1));
/* Initialize the PEB */
RtlZeroMemory(Teb, sizeof(TEB));