[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH V2 11/14] Introduce some macros for event channels



>>> On 21.01.13 at 15:30, Wei Liu <wei.liu2@xxxxxxxxxx> wrote:
> --- a/xen/include/asm-x86/config.h
> +++ b/xen/include/asm-x86/config.h
> @@ -8,11 +8,13 @@
>  #define __X86_CONFIG_H__
>  
>  #define LONG_BYTEORDER 3
> +#define LONG_BITORDER 6
> +#define BYTE_BITORDER 3

The former ought to use the latter.

>  #define CONFIG_PAGING_LEVELS 4
>  
>  #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
>  #define BITS_PER_LONG (BYTES_PER_LONG << 3)
> -#define BITS_PER_BYTE 8
> +#define BITS_PER_BYTE (1 << BYTE_BITORDER)
>  
>  #define CONFIG_X86 1
>  #define CONFIG_X86_HT 1

Missing a similar change for ARM?

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -69,6 +69,19 @@ extern struct domain *dom0;
>              __v;})
>  
>  #define EVTCHNS_PER_BUCKET 512
> +/* N.B. EVTCHNS_PER_PAGE is always powers of 2, use shifts to optimize */
> +#define EVTCHNS_SHIFT (PAGE_SHIFT+BYTE_BITORDER)
> +#define EVTCHNS_PER_PAGE (_AC(1,L) << EVTCHNS_SHIFT)
> +#define EVTCHN_MASK (~(EVTCHNS_PER_PAGE-1))
> +#define EVTCHN_PAGE_NO(chn) ((chn) >> EVTCHNS_SHIFT)
> +#define EVTCHN_OFFSET_IN_PAGE(chn) ((chn) & ~EVTCHN_MASK)
> +
> +#ifndef CONFIG_COMPAT
> +#define EVTCHN_WORD_BITORDER(d) LONG_BITORDER
> +#else
> +#define EVTCHN_WORD_BITORDER(d) (has_32bit_shinfo(d) ? 5 : LONG_BITORDER)
> +#endif
> +
>  #define NR_EVTCHN_BUCKETS  (NR_EVENT_CHANNELS / EVTCHNS_PER_BUCKET)
>  struct xen_evtchn_ops;

All these event channel relate definitions look misplaced in
xen/sched.h, now that it's more than a couple of lines. The first
option for moving them of course is into the source file (when
they're not being used elsewhere). The next best option is either
xen/events.h or a new header.

Jan


_______________________________________________
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®.