qemu/hw/pci
Dongli Zhang 17323e8b68 msix: make pba size math more uniform
In msix_exclusive_bar the bar_pba_size is more than what the pba is
expected to have, although this never affects the bar size.

Specifically, the math in msix_init_exclusive_bar allocates too much
memory in some cases.

For example consider nentries = 8.  msix_exclusive_bar will give us
bar_pba_size = 16.  So 16 bytes.  However 8 bytes would be enough - this
is all that the spec requires.

So in practice bar_pba_size sometimes allocates an extra 8 bytes but
never more.

Since each MSIX entry size is 16 bytes, and since we make sure that
table+pba is a power of two, this always leaves a multiple of 16 bytes
for the PBA, so extra 8 bytes have no effect.

However, its ugly to have pba size temporary variable have an incorrect
value.  For consistency switch to the formula used in msix_init.

Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-01-14 19:31:04 -05:00
..
Makefile.objs
msi.c
msix.c msix: make pba size math more uniform 2019-01-14 19:31:04 -05:00
pci_bridge.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
pci_host.c pci: Adjust PCI config limit based on bus topology 2018-12-20 11:25:36 -05:00
pci-stub.c qapi: Empty out qapi-schema.json 2018-03-02 13:45:50 -06:00
pci.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
pcie_aer.c Drop superfluous includes of qapi/qmp/qjson.h 2018-02-09 13:52:15 +01:00
pcie_host.c PCI: PCIe access should always be little endian 2017-10-15 05:54:42 +03:00
pcie_port.c pci/pcie: stop plug/unplug if the slot is locked 2019-01-14 19:31:04 -05:00
pcie.c pci/pcie: stop plug/unplug if the slot is locked 2019-01-14 19:31:04 -05:00
shpc.c pci/shpc: perform unplug via the hotplug handler 2018-12-20 11:19:12 -05:00
slotid_cap.c pci: Convert shpc_init() to Error 2017-07-03 22:29:49 +03:00
trace-events trace-events: fix code style: %# -> 0x% 2017-08-01 12:13:07 +01:00