On 23/03/2016 22:32, Dominik Dingel wrote:
> -    page_size = qemu_fd_getpagesize(fd);
> -    block->mr->align = page_size;
> +    alignment = MAX(qemu_fd_getpagesize(fd), QEMU_VMALLOC_ALIGN);
> +    block->mr->align = alignment;
>  
> -    if (memory < page_size) {
> +    if (memory < alignment) {
>          error_setg(errp, "memory size 0x" RAM_ADDR_FMT " must be equal to "
> -                   "or larger than page size 0x%" PRIx64,
> -                   memory, page_size);
> +                   "or larger than needed alignment 0x%" PRIx64,
> +                   memory, alignment);
>          goto error;
>      }

Why is this part necessary?  On x86 you can have 1 megabyte of RAM,
but QEMU_VMALLOC_ALIGN is 2MB.

Paolo

> -    memory = ROUND_UP(memory, page_size);
> +    memory = ROUND_UP(memory, alignment);
>  

Reply via email to