On Tue, Dec 14, 2010 at 12:02:03PM +0200, Avi Kivity wrote: > That could certainly be optimized. If the BAR is all along in its > page, both on guest and host (if not, we can migrate it, at least on > the host), we can use the same offset within the page on the host as > it appears on the guest, and assign the entire page. > > We should make sure SeaBIOS uses a minimum alignment of 4k for mmio BARs. Shouldn't be too hard to do that. -Kevin --- a/src/pciinit.c +++ b/src/pciinit.c @@ -10,6 +10,7 @@ #include "biosvar.h" // GET_EBDA #include "pci_ids.h" // PCI_VENDOR_ID_INTEL #include "pci_regs.h" // PCI_COMMAND +#include "memmap.h" // PAGE_SIZE #include "dev-i440fx.h" #define PCI_ROM_SLOT 6 @@ -90,6 +91,8 @@ static int pci_bios_allocate_region(u16 bdf, int region_num) type = "prefmem"; msg = "decrease BUILD_PCIMEM_SIZE and recompile. size %x"; } else { + if (size < PAGE_SIZE) + size = PAGE_SIZE; r = &pci_bios_mem_region; type = "mem"; msg = "increase BUILD_PCIMEM_SIZE and recompile."; -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html