[Xen-devel] [PATCH] xen/block: Correctly define structures in public headers on ARM32 and ARM64

Ian Campbell Ian.Campbell at citrix.com
Tue Dec 3 10:49:05 EST 2013


On Tue, 2013-12-03 at 15:28 +0000, Julien Grall wrote:
> On 12/03/2013 03:15 PM, Jan Beulich wrote:
> >>>> On 03.12.13 at 16:09, Julien Grall <julien.grall at linaro.org> wrote:
> >> --- a/include/xen/interface/io/blkif.h
> >> +++ b/include/xen/interface/io/blkif.h
> >> @@ -146,7 +146,7 @@ struct blkif_request_segment_aligned {
> >>  struct blkif_request_rw {
> >>  	uint8_t        nr_segments;  /* number of segments                   */
> >>  	blkif_vdev_t   handle;       /* only for read/write requests         */
> >> -#ifdef CONFIG_X86_64
> >> +#if defined(CONFIG_X86_64) || defined(CONFIG_ARM) || defined(CONFIG_ARM64)
> > 
> > Perhaps using
> > 
> > #ifndef CONFIG_X86_32
> > 
> > would be the better one, assuming that we won't add further
> > non-64-bit-clean ABI variants?
> 
> I'm fine with this solution. I will resend the patch.

Just a random thought but what about using the CONFIG_$ARCH to define a
more semantic name, like HAVE_4_BYTE_ALIGNED_QUAD_WORDS, or whichever
terminology for an 8-byte type is appropriate in the context.

Maybe Linux even already has such a #define?

Ian.





More information about the linux-arm-kernel mailing list