Hi,

I am tring to heterogeneous live migration on ARM64 host. Now I just use
below kernel/qemu branch to have a try:
https://github.com/hisilicon/kernel-dev/tree/private-v6.11-rc2-hisi-migrn-wip
https://github.com/hisilicon/qemu/tree/stable-8.2-kunpeng920-initial-v2

Currently guest on GICv4.1 and GICv3 host can do migration successfully. I am
not sure that it is expected.

GICv4.1 exports GICD_TYPER2.nASSGIcap and GICD_CTRL.nASSGIreq to guest, so
guests(GICv3) on GICv4.1 and GICv3 host will have different state here. So
basically a guest on host GICv4.1 will lost state when it move to a host with
GICv3.

It seems that current mainline qemu does not consider GICD_TYPER2, and guest
OS(linux) does not use GICD_TYPER2.nASSGIcap and GICD_CTRL.nASSGIreq(just
check cap and set req), so current test has been passed.

In fact, there was some discussions about this problem:
https://lore.kernel.org/kvmarm/[email protected]/

I am not sure if we should prevent users from doing migration between host
GICv3 and GICv4.1?

Thanks,
Zhou

Reply via email to