on the arm64 platform, the PAGESIZE is 64k, the default qxl rom bar size is 8k(QXL_ROM_SZ), in the case memory size less than one page size, kvm_align_section return zero, the memory section did not commit kvm. Signed-off-by: Cong Liu <liucong2@xxxxxxxxxx> --- accel/kvm/kvm-all.c | 1 + 1 file changed, 1 insertion(+) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 27864dfaea..f57cab811b 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -318,6 +318,7 @@ static hwaddr kvm_align_section(MemoryRegionSection *section, hwaddr *start) { hwaddr size = int128_get64(section->size); + size = ROUND_UP(size, qemu_real_host_page_size); hwaddr delta, aligned; /* kvm works in page size chunks, but the function may be called -- 2.25.1