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: [email protected]
Reviewed-by: Eric Auger <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
Signed-off-by: Shannon Zhao <[email protected]>
Message-id:
1527816987[email protected]
Signed-off-by: Peter Maydell <[email protected]>