Hello! > Applied, thanks.
Thank you. > I wonder who it has never been needed before. BTW, what is ITS? ITS is Interrupt Translation Service. It is used by ARM64 architecture. In a short, it is a special hardware which performs table-based lookup of MSI IDs and their destination CPUs, and routes them. There can be lots of CPUs and lots of interrupts, so these tables are large and are held in a system RAM. qemu implementation of this thing needs to be able to flush its internal cached state into memory for live migration. This has to be done during final stage, right after CPUs have been stopped, because right after this point migration code will recheck RAM status and send out modified data for the last time. The implementation itself has to wait, because the necessary KVM API is also not ready yet, but i prefer to upstream as much of the infrastructure as possible, because: a) we want to reduce amount of out-of-tree patches for our project; b) these things affect qemu core code, and upstreaming them makes sure that we do it right, and our out-of-tree code will not diverge from the upstream too much. Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia