On 16.02.2017 13:57, Paolo Bonzini wrote: > > > On 16/02/2017 13:57, Alexander Boettcher wrote: >> Hello Paolo, >> >> On 16.02.2017 12:53, Paolo Bonzini wrote: >>> As you noticed, the problem is that now cpu_vmexit is called without a >>> cpu_restore_state before. >>> >>> The right fix is to pass the retaddr to cpu_vmexit (via >>> cpu_svm_check_intercept_param); something like this untested patch: >> >> ... >> >>> >>> If it works for you we can include it. >> >> thank you for the quick patch. It works like a charm. >> >> Do you take care of adding the patch, please ? (I can of course also do.) > > Great, I will look at it. Have you debugged the exact failure mode to > include something in the commit message?
I'm not familiar with the SVM model, but what I did was to compare mainly the output of the svm exceptions on Qemu 2.4.1 and 2.5.0++ as reported by the Nova hypervisor runing in Qemu. There one gets mysterious SVM exception 0x4e (PF), where virtaddr = cr2 = VMCB::exitinfo2 cr2 is around the 0 address - where actually is nothing in the guest VM. Later on one gets a SVM exception of 0x7f, and then your VM is gone. Hope it helps to make up a useful commit message, Alex. -- Alexander Boettcher Genode Labs http://www.genode-labs.com - http://www.genode.org Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth