util/oslib-win32: Use _aligned_malloc for qemu_try_memalign

We do not need or want to be allocating page sized quanta.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
Message-Id: <20201018164836.1149452-1-richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2020-10-21 19:38:02 +02:00
parent 07ce0b0530
commit dfbd0b873a

View File

@ -39,6 +39,7 @@
#include "trace.h" #include "trace.h"
#include "qemu/sockets.h" #include "qemu/sockets.h"
#include "qemu/cutils.h" #include "qemu/cutils.h"
#include <malloc.h>
/* this must come after including "trace.h" */ /* this must come after including "trace.h" */
#include <shlobj.h> #include <shlobj.h>
@ -56,10 +57,8 @@ void *qemu_try_memalign(size_t alignment, size_t size)
{ {
void *ptr; void *ptr;
if (!size) { g_assert(size != 0);
abort(); ptr = _aligned_malloc(alignment, size);
}
ptr = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
trace_qemu_memalign(alignment, size, ptr); trace_qemu_memalign(alignment, size, ptr);
return ptr; return ptr;
} }
@ -93,9 +92,7 @@ void *qemu_anon_ram_alloc(size_t size, uint64_t *align, bool shared)
void qemu_vfree(void *ptr) void qemu_vfree(void *ptr)
{ {
trace_qemu_vfree(ptr); trace_qemu_vfree(ptr);
if (ptr) { _aligned_free(ptr);
VirtualFree(ptr, 0, MEM_RELEASE);
}
} }
void qemu_anon_ram_free(void *ptr, size_t size) void qemu_anon_ram_free(void *ptr, size_t size)