• Haozhong Zhang's avatar
    hostmem-file: add "align" option · 98376843
    Haozhong Zhang authored
    When mmap(2) the backend files, QEMU uses the host page size
    (getpagesize(2)) by default as the alignment of mapping address.
    However, some backends may require alignments different than the page
    size. For example, mmap a device DAX (e.g., /dev/dax0.0) on Linux
    kernel 4.13 to an address, which is 4K-aligned but not 2M-aligned,
    fails with a kernel message like
    
    [617494.969768] dax dax0.0: qemu-system-x86: dax_mmap: fail, unaligned vma (0x7fa37c579000 - 0x7fa43c579000, 0x1fffff)
    
    Because there is no common approach to get such alignment requirement,
    we add the 'align' option to 'memory-backend-file', so that users or
    management utils, which have enough knowledge about the backend, can
    specify a proper alignment via this option.
    Signed-off-by: 's avatarHaozhong Zhang <haozhong.zhang@intel.com>
    Message-Id: <20171211072806.2812-2-haozhong.zhang@intel.com>
    Reviewed-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
    Reviewed-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
    [ehabkost: fixed typo, fixed error_setg() format string]
    Signed-off-by: 's avatarEduardo Habkost <ehabkost@redhat.com>
    98376843
qemu-options.hx 169 KB