Skip to content
  • Haozhong Zhang's avatar
    8360668e
    exec.c: workaround regression caused by alignment change in d2f39add · 8360668e
    Haozhong Zhang authored
    
    
    Commit d2f39add "exec.c: Ensure right alignment also for file backed ram"
    added an additional alignment requirement on the size of backend file
    besides the previous page size. On x86, the alignment is changed from
    4KB in QEMU 2.6 to 2MB in QEMU 2.7.
    
    This change breaks certain usages in QEMU 2.7 on x86, e.g.
        -object memory-backend-file,id=mem1,mem-path=/tmp/,size=$SZ
        -device pc-dimm,id=dimm1,memdev=mem1
    where $SZ is multiple of 4KB but not 2MB (e.g. 1023M). QEMU 2.7
    reports the following error message and aborts:
    qemu-system-x86_64: -device pc-dimm,memdev=mem1,id=nv1: backend memory size must be multiple of 0x200000
    
    The same regression may also happen in other platforms as indicated by
    Igor Mammedov. This change is however necessary for s390 according to
    the commit message of d2f39add, so we workaround the regression by taking
    the change only on s390.
    
    Signed-off-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
    Reported-by: default avatar"Xu, Anthony" <anthony.xu@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    8360668e
    exec.c: workaround regression caused by alignment change in d2f39add
    Haozhong Zhang authored
    
    
    Commit d2f39add "exec.c: Ensure right alignment also for file backed ram"
    added an additional alignment requirement on the size of backend file
    besides the previous page size. On x86, the alignment is changed from
    4KB in QEMU 2.6 to 2MB in QEMU 2.7.
    
    This change breaks certain usages in QEMU 2.7 on x86, e.g.
        -object memory-backend-file,id=mem1,mem-path=/tmp/,size=$SZ
        -device pc-dimm,id=dimm1,memdev=mem1
    where $SZ is multiple of 4KB but not 2MB (e.g. 1023M). QEMU 2.7
    reports the following error message and aborts:
    qemu-system-x86_64: -device pc-dimm,memdev=mem1,id=nv1: backend memory size must be multiple of 0x200000
    
    The same regression may also happen in other platforms as indicated by
    Igor Mammedov. This change is however necessary for s390 according to
    the commit message of d2f39add, so we workaround the regression by taking
    the change only on s390.
    
    Signed-off-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
    Reported-by: default avatar"Xu, Anthony" <anthony.xu@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Loading