From: Avi K. <av...@qu...> - 2008-01-09 15:20:44
|
Dong, Eddie wrote: >>>> If migration happens while rip is in the hypercall page, and if the >>>> >>>> >>> I didn't quit catch here. The source VM vCPU is in Qemu migration >>> part, The target VM VCPU is always waiting for migration >>> data/command. If you mean SMP case, all target VCPUs are in waiting >>> for data/cmd, and I assume source VCPUs are all in Qemu known state, >>> not? >>> >>> >>> >>> >> I'm talking about the guest rip. The guest is not aware of the >> migration. >> >> Suppose that on the last copy that the guest rip is >> (hypercall_page_virt + 3). This address might be in the middle of >> some instruction on the >> hypercall page on the target machine. You need to fix up rip and >> > > This depends on how the hypercall page instruction is generated. > In Xen's construction, the code in hypercall page is exactly same > between SVM & VMX except the VMCALL/VMMCALL instruction itself. > > If you make the assumption that the hypercall is a single 3-byte instruction, then you might as well patch it directly. Of course it depends on Intel and AMD not reusing each other's opcodes. -- error compiling committee.c: too many arguments to function |