diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2022-02-26 18:07:20 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2022-03-07 13:15:24 +0000 |
commit | 5c8c714a0a78dfd0bb7b04e796b96eb5d41f1292 (patch) | |
tree | 66df25e1491dd3b1792866a5c51ce3dac55451ea /util/oslib-posix.c | |
parent | 8698343b867224c1742d75dfdc276061c5839dc8 (diff) | |
download | qemu-5c8c714a0a78dfd0bb7b04e796b96eb5d41f1292.zip qemu-5c8c714a0a78dfd0bb7b04e796b96eb5d41f1292.tar.gz qemu-5c8c714a0a78dfd0bb7b04e796b96eb5d41f1292.tar.bz2 |
util: Share qemu_try_memalign() implementation between POSIX and Windows
The qemu_try_memalign() functions for POSIX and Windows used to be
significantly different, but these days they are identical except for
the actual allocation function called, and the POSIX version already
has to have ifdeffery for different allocation functions.
Move to a single implementation in memalign.c, which uses the Windows
_aligned_malloc if we detect that function in meson.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220226180723.1706285-7-peter.maydell@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Diffstat (limited to 'util/oslib-posix.c')
-rw-r--r-- | util/oslib-posix.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/util/oslib-posix.c b/util/oslib-posix.c index f7e22f4..91798f7 100644 --- a/util/oslib-posix.c +++ b/util/oslib-posix.c @@ -199,35 +199,6 @@ fail_close: return false; } -void *qemu_try_memalign(size_t alignment, size_t size) -{ - void *ptr; - - if (alignment < sizeof(void*)) { - alignment = sizeof(void*); - } else { - g_assert(is_power_of_2(alignment)); - } - - if (size == 0) { - size++; - } -#if defined(CONFIG_POSIX_MEMALIGN) - int ret; - ret = posix_memalign(&ptr, alignment, size); - if (ret != 0) { - errno = ret; - ptr = NULL; - } -#elif defined(CONFIG_BSD) - ptr = valloc(size); -#else - ptr = memalign(alignment, size); -#endif - trace_qemu_memalign(alignment, size, ptr); - return ptr; -} - /* alloc shared memory pages */ void *qemu_anon_ram_alloc(size_t size, uint64_t *alignment, bool shared, bool noreserve) |