OSDN Git Service

tests/libqos/pci-pc: Fix qpci_pc_iomap() to map BARs aligned
authorMarkus Armbruster <armbru@redhat.com>
Tue, 15 Mar 2016 18:34:21 +0000 (19:34 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 21 Mar 2016 20:28:59 +0000 (21:28 +0100)
commit998261726a6aff3c8a88ae6965e51a6717b467ff
tree8df445c933b91c33fc048a9eb97d597a5515d1ed
parent330b58368ca16c31efdadcf8263f7f903546af50
tests/libqos/pci-pc: Fix qpci_pc_iomap() to map BARs aligned

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>
tests/ivshmem-test.c
tests/libqos/pci-pc.c