* [xen-unstable test] 16231: regressions - FAIL
@ 2013-02-23 12:13 xen.org
2013-02-23 16:09 ` Ian Jackson
0 siblings, 1 reply; 10+ messages in thread
From: xen.org @ 2013-02-23 12:13 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson
flight 16231 xen-unstable real [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/16231/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
build-i386 4 xen-build fail REGR. vs. 16226
build-i386-oldkern 4 xen-build fail REGR. vs. 16226
Regressions which are regarded as allowable (not blocking):
test-amd64-amd64-xl-sedf 5 xen-boot fail like 16226
test-amd64-amd64-xl-sedf-pin 7 debian-install fail blocked in 16226
test-amd64-amd64-xl-qemut-win 7 windows-install fail like 16226
Tests which did not succeed, but are not blocking:
test-amd64-amd64-xl-pcipt-intel 9 guest-start fail never pass
test-amd64-i386-rhel6hvm-intel 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl-multivcpu 1 xen-build-check(1) blocked n/a
test-amd64-i386-pv 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl-credit2 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl 1 xen-build-check(1) blocked n/a
test-amd64-i386-qemut-rhel6hvm-amd 1 xen-build-check(1) blocked n/a
test-amd64-i386-qemuu-rhel6hvm-amd 1 xen-build-check(1) blocked n/a
test-amd64-i386-rhel6hvm-amd 1 xen-build-check(1) blocked n/a
test-amd64-amd64-xl-win7-amd64 13 guest-stop fail never pass
test-amd64-amd64-xl-qemuu-win7-amd64 13 guest-stop fail never pass
test-amd64-i386-win 1 xen-build-check(1) blocked n/a
test-amd64-i386-xend-winxpsp3 1 xen-build-check(1) blocked n/a
test-amd64-amd64-xl-qemuu-winxpsp3 13 guest-stop fail never pass
test-amd64-i386-qemuu-rhel6hvm-intel 1 xen-build-check(1) blocked n/a
test-amd64-i386-qemut-rhel6hvm-intel 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl-win7-amd64 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl-qemut-win7-amd64 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl-win-vcpus1 1 xen-build-check(1) blocked n/a
test-amd64-amd64-xl-qemut-winxpsp3 13 guest-stop fail never pass
test-amd64-amd64-xl-winxpsp3 13 guest-stop fail never pass
test-amd64-i386-xl-qemut-win-vcpus1 1 xen-build-check(1) blocked n/a
test-amd64-i386-xend-qemut-winxpsp3 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl-qemut-winxpsp3-vcpus1 1 xen-build-check(1) blocked n/a
test-amd64-i386-xl-winxpsp3-vcpus1 1 xen-build-check(1) blocked n/a
test-amd64-i386-pair 1 xen-build-check(1) blocked n/a
test-amd64-amd64-xl-qemut-win7-amd64 13 guest-stop fail never pass
test-amd64-amd64-win 16 leak-check/check fail never pass
test-amd64-i386-qemut-win-vcpus1 1 xen-build-check(1) blocked n/a
test-amd64-i386-qemut-win 1 xen-build-check(1) blocked n/a
test-amd64-i386-win-vcpus1 1 xen-build-check(1) blocked n/a
test-amd64-amd64-qemut-win 16 leak-check/check fail never pass
test-amd64-amd64-xl-win 13 guest-stop fail never pass
version targeted for testing:
xen 4291b626cee8aff5d976c5829a79fceca9cff420
baseline version:
xen fb034f42648ecac835a1666def468f673edd2725
------------------------------------------------------------
People who touched revisions under test:
------------------------------------------------------------
jobs:
build-amd64 pass
build-armhf pass
build-i386 fail
build-amd64-oldkern pass
build-i386-oldkern fail
build-amd64-pvops pass
build-i386-pvops pass
test-amd64-amd64-xl pass
test-amd64-i386-xl blocked
test-amd64-i386-rhel6hvm-amd blocked
test-amd64-i386-qemut-rhel6hvm-amd blocked
test-amd64-i386-qemuu-rhel6hvm-amd blocked
test-amd64-amd64-xl-qemut-win7-amd64 fail
test-amd64-i386-xl-qemut-win7-amd64 blocked
test-amd64-amd64-xl-qemuu-win7-amd64 fail
test-amd64-amd64-xl-win7-amd64 fail
test-amd64-i386-xl-win7-amd64 blocked
test-amd64-i386-xl-credit2 blocked
test-amd64-amd64-xl-pcipt-intel fail
test-amd64-i386-rhel6hvm-intel blocked
test-amd64-i386-qemut-rhel6hvm-intel blocked
test-amd64-i386-qemuu-rhel6hvm-intel blocked
test-amd64-i386-xl-multivcpu blocked
test-amd64-amd64-pair pass
test-amd64-i386-pair blocked
test-amd64-amd64-xl-sedf-pin fail
test-amd64-amd64-pv pass
test-amd64-i386-pv blocked
test-amd64-amd64-xl-sedf fail
test-amd64-i386-win-vcpus1 blocked
test-amd64-i386-qemut-win-vcpus1 blocked
test-amd64-i386-xl-qemut-win-vcpus1 blocked
test-amd64-i386-xl-win-vcpus1 blocked
test-amd64-i386-xl-qemut-winxpsp3-vcpus1 blocked
test-amd64-i386-xl-winxpsp3-vcpus1 blocked
test-amd64-amd64-win fail
test-amd64-i386-win blocked
test-amd64-amd64-qemut-win fail
test-amd64-i386-qemut-win blocked
test-amd64-amd64-xl-qemut-win fail
test-amd64-amd64-xl-win fail
test-amd64-i386-xend-qemut-winxpsp3 blocked
test-amd64-amd64-xl-qemut-winxpsp3 fail
test-amd64-amd64-xl-qemuu-winxpsp3 fail
test-amd64-i386-xend-winxpsp3 blocked
test-amd64-amd64-xl-winxpsp3 fail
------------------------------------------------------------
sg-report-flight on woking.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images
Logs, config files, etc. are available at
http://www.chiark.greenend.org.uk/~xensrcts/logs
Test harness code can be found at
http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary
Not pushing.
------------------------------------------------------------
commit 4291b626cee8aff5d976c5829a79fceca9cff420
Author: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Fri Feb 22 18:16:54 2013 +0000
QEMU_TAG update
(qemu changes not included)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-23 12:13 [xen-unstable test] 16231: regressions - FAIL xen.org
@ 2013-02-23 16:09 ` Ian Jackson
2013-02-23 16:26 ` Keir Fraser
0 siblings, 1 reply; 10+ messages in thread
From: Ian Jackson @ 2013-02-23 16:09 UTC (permalink / raw)
To: xen-devel, Ian Campbell
xen.org writes ("[xen-unstable test] 16231: regressions - FAIL"):
> flight 16231 xen-unstable real [real]
> http://www.chiark.greenend.org.uk/~xensrcts/logs/16231/
>
> Regressions :-(
>
> Tests which did not succeed and are blocking,
> including tests which could not be run:
> build-i386 4 xen-build fail REGR. vs. 16226
gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -Wdeclaration-after-statement -o checker checker.c
./checker > tmp.size
diff -u reference.size tmp.size
--- reference.size 2013-02-22 22:53:31.000000000 +0000
+++ tmp.size 2013-02-22 23:12:05.000000000 +0000
@@ -5,7 +5,7 @@
trap_info | - - 8 16
cpu_user_regs | - - 68 200
vcpu_guest_core_regs | 304 304 - -
-vcpu_guest_context | 336 336 2800 5168
+vcpu_guest_context | 332 332 2800 5168
arch_vcpu_info | - - 24 16
vcpu_time_info | - - 32 32
vcpu_info | - - 64 64
make[4]: *** [check-headers] Error 1
make[4]: Leaving directory `/home/osstest/build.16231.build-i386/xen-unstable/tools/include/xen-foreign'
make[3]: Leaving directory `/home/osstest/build.16231.build-i386/xen-unstable/tools/include'
make[3]: *** [xen-foreign] Error 2
Are we supposed to still be doing this for i386 ?
Ian.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-23 16:09 ` Ian Jackson
@ 2013-02-23 16:26 ` Keir Fraser
2013-02-25 9:19 ` Ian Campbell
0 siblings, 1 reply; 10+ messages in thread
From: Keir Fraser @ 2013-02-23 16:26 UTC (permalink / raw)
To: Ian Jackson, xen-devel, Ian Campbell
On 23/02/2013 16:09, "Ian Jackson" <Ian.Jackson@eu.citrix.com> wrote:
> xen.org writes ("[xen-unstable test] 16231: regressions - FAIL"):
>> flight 16231 xen-unstable real [real]
>> http://www.chiark.greenend.org.uk/~xensrcts/logs/16231/
>>
>> Regressions :-(
>>
>> Tests which did not succeed and are blocking,
>> including tests which could not be run:
>> build-i386 4 xen-build fail REGR. vs. 16226
>
> gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
> -fno-strict-aliasing -Wdeclaration-after-statement -o checker checker.c
> ./checker > tmp.size
> diff -u reference.size tmp.size
> --- reference.size 2013-02-22 22:53:31.000000000 +0000
> +++ tmp.size 2013-02-22 23:12:05.000000000 +0000
> @@ -5,7 +5,7 @@
> trap_info | - - 8 16
> cpu_user_regs | - - 68 200
> vcpu_guest_core_regs | 304 304 - -
> -vcpu_guest_context | 336 336 2800 5168
> +vcpu_guest_context | 332 332 2800 5168
> arch_vcpu_info | - - 24 16
> vcpu_time_info | - - 32 32
> vcpu_info | - - 64 64
> make[4]: *** [check-headers] Error 1
> make[4]: Leaving directory
> `/home/osstest/build.16231.build-i386/xen-unstable/tools/include/xen-foreign'
> make[3]: Leaving directory
> `/home/osstest/build.16231.build-i386/xen-unstable/tools/include'
> make[3]: *** [xen-foreign] Error 2
>
> Are we supposed to still be doing this for i386 ?
Yes we are, as we still support our i386 guest ABI.
However, the problem in this case appears to be that the ARM structure size
has changed. If so, that needs to be fixed, or reference.size needs to be
updated.
-- Keir
> Ian.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-23 16:26 ` Keir Fraser
@ 2013-02-25 9:19 ` Ian Campbell
2013-02-25 11:03 ` Ian Campbell
2013-02-26 9:06 ` Ian Campbell
0 siblings, 2 replies; 10+ messages in thread
From: Ian Campbell @ 2013-02-25 9:19 UTC (permalink / raw)
To: Keir Fraser; +Cc: xen-devel, Ian Jackson
On Sat, 2013-02-23 at 16:26 +0000, Keir Fraser wrote:
> On 23/02/2013 16:09, "Ian Jackson" <Ian.Jackson@eu.citrix.com> wrote:
>
> > xen.org writes ("[xen-unstable test] 16231: regressions - FAIL"):
> >> flight 16231 xen-unstable real [real]
> >> http://www.chiark.greenend.org.uk/~xensrcts/logs/16231/
> >>
> >> Regressions :-(
> >>
> >> Tests which did not succeed and are blocking,
> >> including tests which could not be run:
> >> build-i386 4 xen-build fail REGR. vs. 16226
> >
> > gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
> > -fno-strict-aliasing -Wdeclaration-after-statement -o checker checker.c
> > ./checker > tmp.size
> > diff -u reference.size tmp.size
> > --- reference.size 2013-02-22 22:53:31.000000000 +0000
> > +++ tmp.size 2013-02-22 23:12:05.000000000 +0000
> > @@ -5,7 +5,7 @@
> > trap_info | - - 8 16
> > cpu_user_regs | - - 68 200
> > vcpu_guest_core_regs | 304 304 - -
> > -vcpu_guest_context | 336 336 2800 5168
> > +vcpu_guest_context | 332 332 2800 5168
> > arch_vcpu_info | - - 24 16
> > vcpu_time_info | - - 32 32
> > vcpu_info | - - 64 64
> > make[4]: *** [check-headers] Error 1
> > make[4]: Leaving directory
> > `/home/osstest/build.16231.build-i386/xen-unstable/tools/include/xen-foreign'
> > make[3]: Leaving directory
> > `/home/osstest/build.16231.build-i386/xen-unstable/tools/include'
> > make[3]: *** [xen-foreign] Error 2
> >
> > Are we supposed to still be doing this for i386 ?
>
> Yes we are, as we still support our i386 guest ABI.
>
> However, the problem in this case appears to be that the ARM structure size
> has changed. If so, that needs to be fixed, or reference.size needs to be
> updated.
The problem is the use of '#pragma pack(4)' when building the foreign
headers on x86_32.
I think it is useful to keep checking all arches on every build, rather
than splitting into x86 and arm checks, since that will help catch
inadvertent cross-arch breakage.
8<-------------------
>From a20962085ef8d4c3d55f830647cdcb496bc5ee4a Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell@citrix.com>
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@citrix.com>
---
| 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
--git a/tools/include/xen-foreign/mkheader.py b/tools/include/xen-foreign/mkheader.py
index 8a784d3..5bd6eec 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 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 FIXME
#endif
""";
footer["arm64"] = """
--
1.7.2.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-25 9:19 ` Ian Campbell
@ 2013-02-25 11:03 ` Ian Campbell
2013-02-26 9:06 ` Ian Campbell
1 sibling, 0 replies; 10+ messages in thread
From: Ian Campbell @ 2013-02-25 11:03 UTC (permalink / raw)
To: Keir Fraser; +Cc: xen-devel, Ian Jackson
On Mon, 2013-02-25 at 09:19 +0000, Ian Campbell wrote:
> The problem is the use of '#pragma pack(4)' when building the foreign
> headers on x86_32.
IIRC this is to deal with the fact that on x86_32 8-byte types are
4-byte aligned when they are within a struct. This is not the case on
32-bit ARM. The following skanky test on armv7 returns:
align of uint32_t 4
align of uint64_t 8
align of struct foo.t32 4
align of struct foo.t64 8
Compared with x86_32:
align of uint32_t 4
align of uint64_t 8
align of struct foo.t32 4
align of struct foo.t64 4
Ian
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
struct foo
{
uint32_t t32;
uint64_t t64;
};
int main (void)
{
struct foo f;
printf("align of uint32_t %d\n", __alignof__(uint32_t));
printf("align of uint64_t %d\n", __alignof__(uint64_t));
printf("align of struct foo.t32 %d\n", __alignof__(f.t32));
printf("align of struct foo.t64 %d\n", __alignof__(f.t64));
return 0;
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-25 9:19 ` Ian Campbell
2013-02-25 11:03 ` Ian Campbell
@ 2013-02-26 9:06 ` Ian Campbell
2013-02-26 9:54 ` Jan Beulich
1 sibling, 1 reply; 10+ messages in thread
From: Ian Campbell @ 2013-02-26 9:06 UTC (permalink / raw)
To: Keir Fraser; +Cc: Stefano Stabellini, xen-devel, Ian Jackson, Jan Beulich
This patch fixes the current build breakage, anyone want to ack or nack?
I'm about to cycle into the office, hopefully I can apply when I arrive.
Ian.
> > However, the problem in this case appears to be that the ARM structure size
> > has changed. If so, that needs to be fixed, or reference.size needs to be
> > updated.
>
> The problem is the use of '#pragma pack(4)' when building the foreign
> headers on x86_32.
>
> I think it is useful to keep checking all arches on every build, rather
> than splitting into x86 and arm checks, since that will help catch
> inadvertent cross-arch breakage.
>
> 8<-------------------
>
>
> From a20962085ef8d4c3d55f830647cdcb496bc5ee4a Mon Sep 17 00:00:00 2001
> From: Ian Campbell <ian.campbell@citrix.com>
> 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@citrix.com>
> ---
> 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..5bd6eec 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 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 FIXME
> #endif
> """;
> footer["arm64"] = """
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-26 9:06 ` Ian Campbell
@ 2013-02-26 9:54 ` Jan Beulich
2013-02-26 10:12 ` Ian Campbell
0 siblings, 1 reply; 10+ messages in thread
From: Jan Beulich @ 2013-02-26 9:54 UTC (permalink / raw)
To: Ian Campbell; +Cc: IanJackson, Keir Fraser, Stefano Stabellini, xen-devel
>>> On 26.02.13 at 10:06, Ian Campbell <Ian.Campbell@citrix.com> 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.
>> --- 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).
>> #else
>> # define __DECL_REG(n64, n32) uint64_t n64
>> +# define FIXME
Did you mean
# define __align8__ FIXME
(also further down)?
Jan
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-26 9:54 ` Jan Beulich
@ 2013-02-26 10:12 ` Ian Campbell
2013-02-26 12:22 ` Ian Jackson
0 siblings, 1 reply; 10+ messages in thread
From: Ian Campbell @ 2013-02-26 10:12 UTC (permalink / raw)
To: Jan Beulich
Cc: Tim Deegan, Keir Fraser, Ian Jackson, xen-devel, Stefano Stabellini
On Tue, 2013-02-26 at 09:54 +0000, Jan Beulich wrote:
> >>> On 26.02.13 at 10:06, Ian Campbell <Ian.Campbell@citrix.com> 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@citrix.com>
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@citrix.com>
---
v2: Fix #define FIXME -> #define __align8__ FIXME
---
| 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
--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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-26 10:12 ` Ian Campbell
@ 2013-02-26 12:22 ` Ian Jackson
2013-02-26 12:27 ` Ian Campbell
0 siblings, 1 reply; 10+ messages in thread
From: Ian Jackson @ 2013-02-26 12:22 UTC (permalink / raw)
To: Ian Campbell
Cc: Keir Fraser, Tim (Xen.org), xen-devel, Jan Beulich, Stefano Stabellini
Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 16231: regressions - FAIL"):
> I'll commit in about half an hour unless someone objects.
I've done this.
Ian.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [xen-unstable test] 16231: regressions - FAIL
2013-02-26 12:22 ` Ian Jackson
@ 2013-02-26 12:27 ` Ian Campbell
0 siblings, 0 replies; 10+ messages in thread
From: Ian Campbell @ 2013-02-26 12:27 UTC (permalink / raw)
To: Ian Jackson
Cc: Keir Fraser, Tim (Xen.org), xen-devel, Jan Beulich, Stefano Stabellini
On Tue, 2013-02-26 at 12:22 +0000, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [xen-unstable test] 16231: regressions - FAIL"):
> > I'll commit in about half an hour unless someone objects.
>
> I've done this.
Thanks I got tied up in a meeting.
Ian.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-02-26 12:27 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-23 12:13 [xen-unstable test] 16231: regressions - FAIL xen.org
2013-02-23 16:09 ` Ian Jackson
2013-02-23 16:26 ` Keir Fraser
2013-02-25 9:19 ` Ian Campbell
2013-02-25 11:03 ` Ian Campbell
2013-02-26 9:06 ` Ian Campbell
2013-02-26 9:54 ` Jan Beulich
2013-02-26 10:12 ` Ian Campbell
2013-02-26 12:22 ` Ian Jackson
2013-02-26 12:27 ` Ian Campbell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.