MSI mapping needs to be update when MSI address changes, so add the code to do so.
Signed-off-by: Andrey Smirnov <andrew.smir...@gmail.com> Cc: Peter Maydell <peter.mayd...@linaro.org> Cc: Michael S. Tsirkin <m...@redhat.com> Cc: qemu-devel@nongnu.org Cc: qemu-...@nongnu.org --- hw/pci-host/designware.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/pci-host/designware.c b/hw/pci-host/designware.c index 6affe823c0..e80facc4a0 100644 --- a/hw/pci-host/designware.c +++ b/hw/pci-host/designware.c @@ -289,11 +289,13 @@ static void designware_pcie_root_config_write(PCIDevice *d, uint32_t address, case DESIGNWARE_PCIE_MSI_ADDR_LO: root->msi.base &= 0xFFFFFFFF00000000ULL; root->msi.base |= val; + designware_pcie_root_update_msi_mapping(root); break; case DESIGNWARE_PCIE_MSI_ADDR_HI: root->msi.base &= 0x00000000FFFFFFFFULL; root->msi.base |= (uint64_t)val << 32; + designware_pcie_root_update_msi_mapping(root); break; case DESIGNWARE_PCIE_MSI_INTR0_ENABLE: -- 2.20.1