[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v6 19/22] hvm/params: Add a new delivery type for event-channel in HVM_PARAM_CALLBACK_IRQ
>>> On 17.03.16 at 12:56, <zhaoshenglong@xxxxxxxxxx> wrote: > > On 2016/3/17 19:29, Jan Beulich wrote: >>>>> On 17.03.16 at 12:04, <zhaoshenglong@xxxxxxxxxx> wrote: >>> On 2016/3/17 18:42, Jan Beulich wrote: >>>>>>> On 17.03.16 at 10:41, <zhaoshenglong@xxxxxxxxxx> wrote: >>>>>> --- a/xen/include/public/hvm/params.h >>>>>> +++ b/xen/include/public/hvm/params.h >>>>>> @@ -49,11 +49,24 @@ >>>>>> * Domain = val[47:32], Bus = val[31:16] DevFn = val[15:8], IntX = >>> val[1:0] >>>>>> */ >>>>>> >>>>>> +#ifndef CONFIG_ARM >>>> This is a public header, so you can't rely on CONFIG_* values. >>>> You should check compiler defined CPU architecture manifest >>>> constants instead (and there are numerous examples throughout >>>> public/). >>> Oh, right, thanks. Will replace it with >>> #if !defined(__arm__) && !defined (__aarch64__) >> >> Well, not exactly. You should use only positive checks here, >> i.e. the x86 one wants to be framed by a respective x86 >> conditional, and the ARM one wants to be framed by the >> inverse of the above. >> > Like below: Yes, this looks okay. Jan > --- a/xen/include/public/hvm/params.h > +++ b/xen/include/public/hvm/params.h > @@ -49,11 +49,24 @@ > * Domain = val[47:32], Bus = val[31:16] DevFn = val[15:8], IntX = val[1:0] > */ > > +#if defined(__i386__) || defined(__x86_64__) > #define HVM_PARAM_CALLBACK_TYPE_VECTOR 2 > /* > * val[7:0] is a vector number. Check for XENFEAT_hvm_callback_vector > to know > * if this delivery method is available. > */ > +#elif defined(__arm__) || defined (__aarch64__) > +#define HVM_PARAM_CALLBACK_TYPE_PPI 2 > +/* > + * val[55:16] needs to be zero. > + * val[15:8] is interrupt flag of the PPI used by event-channel: > + * bit 8: the PPI is edge(1) or level(0) triggered > + * bit 9: the PPI is active low(1) or high(0) > + * val[7:0] is a PPI number used by event-channel. > + * This is only used by ARM/ARM64 and masking/eoi the interrupt > associated to > + * the notification is handled by the interrupt controller. > + */ > +#endif > > /* > * These are not used by Xen. They are here for convenience of HVM-guest > > -- > Shannon _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |