[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.