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

Reply via email to