|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] x86/hvm: Don't intercept #UD exceptions in general
On 27/01/16 19:14, Boris Ostrovsky wrote:
> On 01/27/2016 01:59 PM, Andrew Cooper wrote:
>> On 27/01/16 18:49, Boris Ostrovsky wrote:
>>> On 01/27/2016 01:11 PM, Andrew Cooper wrote:
>>>> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
>>>> index 1d71216..1084e82 100644
>>>> --- a/xen/arch/x86/domctl.c
>>>> +++ b/xen/arch/x86/domctl.c
>>>> @@ -65,8 +65,20 @@ static void update_domain_cpuid_info(struct domain
>>>> *d,
>>>> .ecx = ctl->ecx
>>>> }
>>>> };
>>>> + int old_vendor = d->arch.x86_vendor;
>>>> d->arch.x86_vendor = get_cpu_vendor(vendor_id.str,
>>>> gcv_guest);
>>>> +
>>>> + if ( is_hvm_domain(d) && (d->arch.x86_vendor != old_vendor) )
>>>> + {
>>>> + struct vcpu *v;
>>>> +
>>>> + domain_pause(d);
>>>> + for_each_vcpu( d, v )
>>>> + hvm_update_guest_vendor(v);
>>>> + domain_unpause(d);
>>>> + }
>>>> +
>>>> break;
>>>> }
>>> Not specific to this patch, but shouldn't we pause/unpause domain for
>>> the whole routine?
>> Not specifically, although that might be better lonterm.
>>
>> In practice, this hypercall is only made as part of domain construction,
>> and never at domain runtime.
>
> Is it safe to unpause a domain here if it is not running?
Yes - all pausing/unpausing is reference counted, including the initial
systemcontroller pause reference taken (on behalf of the toolstack
domain) during the createdomain hypercall.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |