Commit a81c5350 authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Release the low address space reservation for 64-bit apps.

parent 416a2732
......@@ -1865,7 +1865,6 @@ static void init_peb( RTL_USER_PROCESS_PARAMETERS *params, void *module )
NtCurrentTeb()->WowTebOffset = teb_offset;
NtCurrentTeb()->Tib.ExceptionList = (void *)((char *)NtCurrentTeb() + teb_offset);
wow_peb = (PEB32 *)((char *)peb + page_size);
user_space_wow_limit = ((main_image_info.ImageCharacteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE) ? limit_4g : limit_2g) - 1;
set_thread_id( NtCurrentTeb(), GetCurrentProcessId(), GetCurrentThreadId() );
ERR( "starting %s in experimental wow64 mode\n", debugstr_us(&params->ImagePathName) );
break;
......@@ -1876,6 +1875,7 @@ static void init_peb( RTL_USER_PROCESS_PARAMETERS *params, void *module )
}
#endif
virtual_set_large_address_space();
load_global_options( &params->ImagePathName );
if (wow_peb)
......
......@@ -1687,8 +1687,6 @@ void server_init_process_done(void)
#ifdef __APPLE__
send_server_task_port();
#endif
if (main_image_info.ImageCharacteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE)
virtual_set_large_address_space();
/* Install signal handlers; this cannot be done earlier, since we cannot
* send exceptions to the debugger before the create process event that
......
......@@ -4184,9 +4184,14 @@ static void virtual_release_address_space(void)
*/
void virtual_set_large_address_space(void)
{
/* no large address space on win9x */
if (peb->OSPlatformId != VER_PLATFORM_WIN32_NT) return;
#ifdef _WIN64
if (is_wow64())
user_space_wow_limit = ((main_image_info.ImageCharacteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE) ? limit_4g : limit_2g) - 1;
else
free_reserved_memory( 0, (char *)0x7ffe0000 );
#else
if (!(main_image_info.ImageCharacteristics & IMAGE_FILE_LARGE_ADDRESS_AWARE)) return;
#endif
user_space_limit = working_set_limit = address_space_limit;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment