[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 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: diff --git a/xen/include/public/hvm/params.h b/xen/include/public/hvm/params.h index 73d4718..d03c103 100644 --- 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 |