On 12 December 2017 at 05:53, Richard Henderson
<richard.hender...@linaro.org> wrote:
> On 12/08/2017 08:57 AM, Peter Maydell wrote:
>> SPARC Linux has an oddity that it insists that mmap()
>> of MAP_FIXED memory must be at an alignment defined by
>> SHMLBA, which is more aligned than the page size
>> (typically, SHMLBA alignment is to 16K, and pages are 8K).
>> This is a relic of ancient hardware that had cache
>> aliasing constraints, but even on modern hardware the
>> kernel still insists on the alignment.
>>
>> To ensure that we get mmap() alignment sufficient to
>> make the kernel happy, change QEMU_VMALLOC_ALIGN,
>> qemu_fd_getpagesize() and qemu_mempath_getpagesize()
>> to use the maximum of getpagesize() and SHMLBA.
>>
>> In particular, this allows 'make check' to pass on Sparc:
>> we were previously failing the ivshmem tests.
>>
>> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
>> ---
>
> Reviewed-by: Richard Henderson <richard.hender...@linaro.org>

Thanks; I have applied this to master and added a sparc64
host to my set of build systems. (Thanks to John for providing
access to that host.)

-- PMM

Reply via email to