From: Philippe Mathieu-Daudé <phi...@linaro.org> Fix copy/paste error writing to the ATU_UPPER_TARGET register, we want to update the upper 32 bits.
Cc: qemu-sta...@nongnu.org Reported-by: Joey <jeund...@gmail.com> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2861 Fixes: d64e5eabc4c ("pci: Add support for Designware IP block") Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Gustavo Romero <gustavo.rom...@linaro.org> Message-Id: <20250331152041.74533-2-phi...@linaro.org> (cherry picked from commit 04e99f9eb7920b0f0fcce65686c3bedf5e32a1f9) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/hw/pci-host/designware.c b/hw/pci-host/designware.c index c235b9daa3..2156c7f9de 100644 --- a/hw/pci-host/designware.c +++ b/hw/pci-host/designware.c @@ -362,7 +362,7 @@ static void designware_pcie_root_config_write(PCIDevice *d, uint32_t address, case DESIGNWARE_PCIE_ATU_UPPER_TARGET: viewport->target &= 0x00000000FFFFFFFFULL; - viewport->target |= val; + viewport->target |= (uint64_t)val << 32; break; case DESIGNWARE_PCIE_ATU_LIMIT: -- 2.39.5