On 16/08/21 16:44, Ashish Kalra wrote:
I think that once the mirror VM starts booting and running the UEFI code, it might be only during the PEI or DXE phase where it will start actually running the MH code, so mirror VM probably still need to handles KVM_EXIT_IO when SEC phase does I/O, I can see PIC accesses and Debug Agent initialization stuff in SEC startup code.
That may be a design of the migration helper code that you were working with, but it's not necessary. The migration helper can be just some code that the guest "donates" to the host. The entry point need not be the usual 0xfffffff0; it can be booted directly in 64-bit mode with a CR3 and EIP that the guest provides to the guest---for example with a UEFI GUIDed structure. In fact, the migration helper can run even before the guest has booted and while the guest is paused, so I don't think that it is possible to make use of any device emulation code in it. Paolo