kvmvapic: align start address as well as size
authorAvi Kivity <avi@redhat.com>
Tue, 6 Mar 2012 15:50:10 +0000 (17:50 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 14 Mar 2012 20:30:38 +0000 (15:30 -0500)
commit9512e4a9edef2d9b59eb10a03184cd90a34f62d5
treed451f0def30fb1c9546a4322845e86fd24fdd39d
parent3e7ecd976b06fc9054a34bda093a70efae99588b
kvmvapic: align start address as well as size

The kvmvapic code remaps a section of ROM as RAM to allow the guest to
maintain state there.  It is careful to align the section size to a page
boundary, to avoid creating subpages, but neglects to do the same for
the start address.  These leads to an assert later on when the memory
core tries to create a page which is half RAM and half ROM.

Fix by aligning the start address to a page boundary.

This can be triggered by running qemu-system-x86_64 -enable-kvm -vga none.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/kvmvapic.c