[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [xen-unstable test] 16231: regressions - FAIL
On Tue, 2013-02-26 at 09:54 +0000, Jan Beulich wrote: > >>> On 26.02.13 at 10:06, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote: > > This patch fixes the current build breakage, anyone want to ack or nack? > > Looks almost fine to me, but probably one of the other ARM guys > would want to ack this anyway. Actually at this point I would rather just get the build fixed, since it is blocking quite a large staging push. I'll commit in about half an hour unless someone objects. > >> --- a/tools/include/xen-foreign/mkheader.py > >> +++ b/tools/include/xen-foreign/mkheader.py > >> @@ -20,15 +20,18 @@ footer = {}; > >> inttypes["arm32"] = { > >> "unsigned long" : "uint32_t", > >> "long" : "uint32_t", > >> - "xen_pfn_t" : "uint64_t", > >> - "xen_ulong_t" : "uint64_t", > >> + "xen_pfn_t" : "__align8__ uint64_t", > >> + "xen_ulong_t" : "__align8__ uint64_t", > >> + "uint64_t" : "__align8__ uint64_t", > >> }; > >> header["arm32"] = """ > >> #define __arm___ARM32 1 > >> #if defined(__GNUC__) && !defined(__STRICT_ANSI__) > >> # define __DECL_REG(n64, n32) union { uint64_t n64; uint32_t n32; } > >> +# define __align8__ __attribute__((aligned (8))) > > Using __aligned__ here would probably be a tiny bit more safe (I > do realize that x86-64 already uses the same construct you use). Yes I copied x86-64 here deliberately. > >> #else > >> # define __DECL_REG(n64, n32) uint64_t n64 > >> +# define FIXME > > Did you mean > > # define __align8__ FIXME > > (also further down)? Oh yes, silly me. Ian. 8<-------------------------------- >From 8a2ab328c96bd71855595633b14fb7adc5cc0cc9 Mon Sep 17 00:00:00 2001 From: Ian Campbell <ian.campbell@xxxxxxxxxx> Date: Mon, 25 Feb 2013 09:11:04 +0000 Subject: [PATCH] tools: foreign: ensure 64 bit values are properly aligned for arm When building the foreign headers on x86_32 we use '#pragma pack(4)' and therefore need to explicitly align types which should be aligned to 8-byte boundaries. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- v2: Fix #define FIXME -> #define __align8__ FIXME --- tools/include/xen-foreign/mkheader.py | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/include/xen-foreign/mkheader.py b/tools/include/xen-foreign/mkheader.py index 8a784d3..b19292f 100644 --- a/tools/include/xen-foreign/mkheader.py +++ b/tools/include/xen-foreign/mkheader.py @@ -20,15 +20,18 @@ footer = {}; inttypes["arm32"] = { "unsigned long" : "uint32_t", "long" : "uint32_t", - "xen_pfn_t" : "uint64_t", - "xen_ulong_t" : "uint64_t", + "xen_pfn_t" : "__align8__ uint64_t", + "xen_ulong_t" : "__align8__ uint64_t", + "uint64_t" : "__align8__ uint64_t", }; header["arm32"] = """ #define __arm___ARM32 1 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) # define __DECL_REG(n64, n32) union { uint64_t n64; uint32_t n32; } +# define __align8__ __attribute__((aligned (8))) #else # define __DECL_REG(n64, n32) uint64_t n64 +# define __align8__ FIXME #endif """; footer["arm32"] = """ @@ -38,15 +41,18 @@ footer["arm32"] = """ inttypes["arm64"] = { "unsigned long" : "__danger_unsigned_long_on_arm64", "long" : "__danger_long_on_arm64", - "xen_pfn_t" : "uint64_t", - "xen_ulong_t" : "uint64_t", + "xen_pfn_t" : "__align8__ uint64_t", + "xen_ulong_t" : "__align8__ uint64_t", + "uint64_t" : "__align8__ uint64_t", }; header["arm64"] = """ #define __aarch64___ARM64 1 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) # define __DECL_REG(n64, n32) union { uint64_t n64; uint32_t n32; } +# define __align8__ __attribute__((aligned (8))) #else # define __DECL_REG(n64, n32) uint64_t n64 +# define __align8__ FIXME #endif """; footer["arm64"] = """ -- 1.7.2.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |