On 08/21/2009 02:58 PM, Andre Przywara wrote:
To enable cross-vendor migration we use VMCB external variables to hold the full 64bit value of the SYSENTER MSRs, which get truncated to 32bit on AMD hardware. Since we didn't intercept these MSRs, these variables were only used in the emulation case, but were _always_ used for migration purposes. This worked fine for cross-vendor migration in compat mode, but did not work in pure legacy mode. To fix this we always intercept the SYSENTER MSRs and store the values both in the VMCB and the external variables. This works for all cases. Signed-off-by: Andre Przywara<andre.przywara@xxxxxxx> --- arch/x86/kvm/svm.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) Hi Avi, this should fix the problem seen by Stephane and Thomas this week. Please revert 8b2f9d194288982d654c1afef491dfdf75ec1ba9 (your proposed fix, which broke cross-vendor migration) and apply this patch afterwards. It worked for me with both 32on32 and 32on64 migration both cross-vendor and between two AMD machines.
Reverted and applied; thanks. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html