diff --git a/BasiliskII/src/Unix/vm_alloc.cpp b/BasiliskII/src/Unix/vm_alloc.cpp index 77365544..587c62c2 100644 --- a/BasiliskII/src/Unix/vm_alloc.cpp +++ b/BasiliskII/src/Unix/vm_alloc.cpp @@ -456,10 +456,16 @@ int vm_protect(void * addr, size_t size, int prot) int vm_get_page_size(void) { -#ifdef _WIN32 - return 4096; +#ifdef HAVE_WIN32_VM + static unsigned long page_size = 0; + if (page_size == 0) { + SYSTEM_INFO si; + GetSystemInfo(&si); + page_size = si.dwAllocationGranularity; + } + return page_size; #else - return getpagesize(); + return getpagesize(); #endif }