]> git.proxmox.com Git - mirror_qemu.git/commit
arm_gicv3_kvm: kvm_dist_get/put: skip the registers banked by GICR
authorShannon Zhao <zhaoshenglong@huawei.com>
Fri, 8 Jun 2018 12:15:32 +0000 (13:15 +0100)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Wed, 11 Jul 2018 16:48:19 +0000 (11:48 -0500)
commit5459c0c4585d692026a2e9d2d131c7b514f946a9
treed58761d8e7cde898435c595b8ddda20c2ecabbe7
parent5c9266fa9778c631a42345256d9619e68f062800
arm_gicv3_kvm: kvm_dist_get/put: skip the registers banked by GICR

While we skip the GIC_INTERNAL irqs, we don't change the register offset
accordingly. This will overlap the GICR registers value and leave the
last GIC_INTERNAL irq's registers out of update.

Fix this by skipping the registers banked by GICR.

Also for migration compatibility if the migration source (old version
qemu) doesn't send gicd_no_migration_shift_bug = 1 to destination, then
we shift the data of PPI to get the right data for SPI.

Fixes: 367b9f527becdd20ddf116e17a3c0c2bbc486920
Cc: qemu-stable@nongnu.org
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Message-id: 1527816987-16108-1-git-send-email-zhaoshenglong@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 910e204841954b95c051b2ee49ab0f5c735ff93c)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/intc/arm_gicv3_common.c
hw/intc/arm_gicv3_kvm.c
include/hw/intc/arm_gicv3_common.h