diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c index bacfa32e475..6ce53312624 100644 --- a/dlls/ntdll/virtual.c +++ b/dlls/ntdll/virtual.c @@ -1681,14 +1681,16 @@ void virtual_release_address_space( BOOL free_high_mem ) server_enter_uninterrupted_section( &csVirtual, &sigset ); +#ifndef __APPLE__ /* dyld doesn't support parts of the WINE_DOS segment being unmapped */ range.base = (char *)0x20000000; range.limit = (char *)0x7f000000; while (wine_mmap_enum_reserved_areas( free_reserved_memory, &range, 0 )) /* nothing */; +#endif /* no large address space on win9x */ if (free_high_mem && NtCurrentTeb()->Peb->OSPlatformId == VER_PLATFORM_WIN32_NT) { - range.base = (char *)0x80000000; + range.base = (char *)0x82000000; range.limit = address_space_limit; while (wine_mmap_enum_reserved_areas( free_reserved_memory, &range, 1 )) /* nothing */; user_space_limit = working_set_limit = address_space_limit; diff --git a/loader/main.c b/loader/main.c index 676eae3cdb6..e0588d11993 100644 --- a/loader/main.c +++ b/loader/main.c @@ -40,9 +40,9 @@ #ifdef __APPLE__ -asm(".zerofill WINE_DOS, WINE_DOS, ___wine_dos, 0x70000000"); +asm(".zerofill WINE_DOS, WINE_DOS, ___wine_dos, 0x40000000"); asm(".zerofill WINE_SHAREDHEAP, WINE_SHAREDHEAP, ___wine_shared_heap, 0x03000000"); -extern char __wine_dos[0x70000000], __wine_shared_heap[0x03000000]; +extern char __wine_dos[0x40000000], __wine_shared_heap[0x03000000]; static const struct wine_preload_info wine_main_preload_info[] = {