On 22 April 2016 at 11:15, Christoffer Dall <christoffer.d...@linaro.org> wrote: > Peter just pointed me to a change I remember doing for ARM, so perhaps > this fix is the right one? > > > diff --git a/util/oslib-posix.c b/util/oslib-posix.c > index d25f671..a36e734 100644 > --- a/util/oslib-posix.c > +++ b/util/oslib-posix.c > @@ -35,7 +35,7 @@ > extern int daemon(int, int); > #endif > > -#if defined(__linux__) && (defined(__x86_64__) || defined(__arm__)) > +#if defined(__linux__) && (defined(__x86_64__) || defined(__arm__)) || > defined(__aarch64__) > /* Use 2 MiB alignment so transparent hugepages can be used by KVM. > Valgrind does not support alignments larger than 1 MiB, > therefore we need special code which handles running on Valgrind. */
I hadn't realised AArch64 didn't define __arm__. Your extra clause wants to be inside the parens for the ||, not outside. So was the problem just that we weren't passing 2MB as the align parameter to qemu_ram_mmap(), and if we do pass 2MB then it does the right thing ? thanks -- PMM