|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [V8 PATCH 7/8] pvh dom0: add check for pvh in vioapic_range
>>> On 05.04.14 at 03:00, <mukesh.rathor@xxxxxxxxxx> wrote:
> On Tue, 01 Apr 2014 16:09:15 +0100
> "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
>
>> >>> On 01.04.14 at 16:40, <george.dunlap@xxxxxxxxxxxxx> wrote:
>> > On 03/24/2014 09:34 AM, Jan Beulich wrote:
>> >>>>> On 22.03.14 at 02:39, <mukesh.rathor@xxxxxxxxxx> wrote:
>> >>> --- a/xen/arch/x86/hvm/vioapic.c
>> >>> +++ b/xen/arch/x86/hvm/vioapic.c
>> >>> @@ -238,8 +238,13 @@ static int vioapic_write(
>> >>>
>> >>> static int vioapic_range(struct vcpu *v, unsigned long addr)
>> >>> {
>> >>> - struct hvm_hw_vioapic *vioapic = domain_vioapic(v->domain);
>> >>> + struct hvm_hw_vioapic *vioapic;
>> >>> +
>> >>> + /* pvh uses event channel callback */
>> >>> + if ( is_pvh_vcpu(v) )
>> >>> + return 0;
>> >>>
>> >>> + vioapic = domain_vioapic(v->domain);
>> >>
>> >> I can see why the extra check is needed, but I can't see why you
>> >> convert the initializer to an assignment: Afaict domain_vioapic()
>> >> is safe even if d->arch.hvm_domain.vioapic == NULL.
>> >
>> > Or better yet, just make it something like:
>> >
>> > return vioapic && ((addr >= [...original range check]))
>> >
>> > That way we don't have to have a PVH-specific hook at all. If a
>> > domain doesn't have a vioapic for any reason, return 0.
>>
>> No, vioapic isn't going to be NULL for PVH:
>>
>> #define domain_vioapic(d)
>> (&(d)->arch.hvm_domain.vioapic->hvm_hw_vioapic)
>
> No, viopaic is NULL for PVH, hence the patch. So, can prob just check
> for the ptr like George suggests and remove the pvh check.
Sorry, no - I agree that d->arch.hvm_domain.vioapic is NULL for
PVH, but that doesn't mean the result of domain_vioapic(d) is too
(see the quoted #define above).
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |