mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-02-02 22:30:40 -07:00
qpci_pc_iomap() maps BARs one after the other, without padding. This is wrong. PCI Local Bus Specification Revision 3.0, 6.2.5.1. Address Maps: "all address spaces used are a power of two in size and are naturally aligned". That's because the size of a BAR is given by the number of address bits the device decodes, and the BAR needs to be mapped at a multiple of that size to ensure the address decoding works. Fix qpci_pc_iomap() accordingly. This takes care of a FIXME in ivshmem-test. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <1458066895-20632-7-git-send-email-armbru@redhat.com> |
||
|---|---|---|
| .. | ||
| ahci.c | ||
| ahci.h | ||
| fw_cfg.c | ||
| fw_cfg.h | ||
| i2c-imx.c | ||
| i2c-omap.c | ||
| i2c.c | ||
| i2c.h | ||
| libqos-pc.c | ||
| libqos-pc.h | ||
| libqos.c | ||
| libqos.h | ||
| malloc-generic.c | ||
| malloc-generic.h | ||
| malloc-pc.c | ||
| malloc-pc.h | ||
| malloc.c | ||
| malloc.h | ||
| pci-pc.c | ||
| pci-pc.h | ||
| pci.c | ||
| pci.h | ||
| usb.c | ||
| usb.h | ||
| virtio-mmio.c | ||
| virtio-mmio.h | ||
| virtio-pci.c | ||
| virtio-pci.h | ||
| virtio.c | ||
| virtio.h | ||