* [PATCH OSSTEST v5] Add arm64 build and test jobs
@ 2015-09-29 15:10 Ian Campbell
2015-09-29 15:33 ` Ian Jackson
0 siblings, 1 reply; 5+ messages in thread
From: Ian Campbell @ 2015-09-29 15:10 UTC (permalink / raw)
To: ian.jackson, xen-devel; +Cc: Ian Campbell
Runvars for the xen-unstable flight build jobs and an illustrative test:
build-arm64 arch arm64
build-arm64 build_lvextend_max 50
build-arm64 enable_ovmf true
build-arm64 enable_xend false
build-arm64 enable_xsm false
build-arm64 host_hostflags share-build-jessie-arm64,arch-arm64,suite-jessie,purpose-build
build-arm64 revision_ovmf
build-arm64 revision_qemu
build-arm64 revision_qemuu 8ad9e71fc937439730fa68e82d6da11a50eb5c04
build-arm64 revision_seabios
build-arm64 revision_xen 61598449ae28fe89036a699fd524b73b9ca454ae
build-arm64 tree_ovmf
build-arm64 tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
build-arm64 tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
build-arm64 tree_seabios
build-arm64 tree_xen git://xenbits.xen.org/xen.git
build-arm64-libvirt arch arm64
build-arm64-libvirt build_lvextend_max 50
build-arm64-libvirt buildjob build-arm64
build-arm64-libvirt host_hostflags share-build-jessie-arm64,arch-arm64,suite-jessie,purpose-build
build-arm64-libvirt revision_libvirt 5e06a4f063dc6cf2ae14a361ddeb805d3f3ae440
build-arm64-libvirt tree_libvirt git://xenbits.xen.org/libvirt.git
build-arm64-libvirt tree_xen git://xenbits.xen.org/xen.git
build-arm64-pvops arch arm64
build-arm64-pvops build_lvextend_max 50
build-arm64-pvops host_hostflags share-build-jessie-arm64,arch-arm64,suite-jessie,purpose-build
build-arm64-pvops kconfig_override_y CONFIG_EXT4_FS
build-arm64-pvops kconfighow xen-enable-xen-config
build-arm64-pvops revision_linux 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
build-arm64-pvops revision_linuxfirmware c530a75c1e6a472b0eb9558310b518f0dfcd8860
build-arm64-pvops tree_linux git://xenbits.xen.org/linux-pvops.git
build-arm64-pvops tree_linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
build-arm64-pvops treevcs_linux git
build-arm64-xsm arch arm64
build-arm64-xsm build_lvextend_max 50
build-arm64-xsm enable_ovmf true
build-arm64-xsm enable_xend false
build-arm64-xsm enable_xsm true
build-arm64-xsm host_hostflags share-build-jessie-arm64,arch-arm64,suite-jessie,purpose-build
build-arm64-xsm revision_ovmf
build-arm64-xsm revision_qemu
build-arm64-xsm revision_qemuu 8ad9e71fc937439730fa68e82d6da11a50eb5c04
build-arm64-xsm revision_seabios
build-arm64-xsm revision_xen 61598449ae28fe89036a699fd524b73b9ca454ae
build-arm64-xsm tree_ovmf
build-arm64-xsm tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
build-arm64-xsm tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
build-arm64-xsm tree_seabios
build-arm64-xsm tree_xen git://xenbits.xen.org/xen.git
test-arm64-arm64-xl all_hostflags arch-arm64,arch-xen-arm64,suite-jessie,purpose-test
test-arm64-arm64-xl arch arm64
test-arm64-arm64-xl buildjob build-arm64
test-arm64-arm64-xl debian_arch arm64
test-arm64-arm64-xl debian_kernkind pvops
test-arm64-arm64-xl enable_xsm false
test-arm64-arm64-xl kernbuildjob build-arm64-pvops
test-arm64-arm64-xl kernkind pvops
test-arm64-arm64-xl toolstack xl
test-arm64-arm64-xl xenbuildjob build-arm64
The full set of tests is:
test-arm64-arm64-libvirt
test-arm64-arm64-libvirt-qcow2
test-arm64-arm64-libvirt-raw
test-arm64-arm64-libvirt-vhd
test-arm64-arm64-libvirt-xsm
test-arm64-arm64-xl
test-arm64-arm64-xl-credit2
test-arm64-arm64-xl-multivcpu
test-arm64-arm64-xl-qcow2
test-arm64-arm64-xl-raw
test-arm64-arm64-xl-rtds
test-arm64-arm64-xl-vhd
test-arm64-arm64-xl-xsm
In addition test-arm64-arm64-xl and appropriate build jobs are added
to xen-unstable-smoke.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v5: Rebase and add arm64 jobs to xen-unstable-smoke.
Abbridge the set of runvars in the commit message somewhat.
I think these are minor enough to not invalidate the Ack, I hope
that's OK.
This series is still awaiting hardware, so reposting just for the
addition on the smoke tests.
---
make-flight | 7 +++++--
mfi-common | 23 ++++++++++++++++++-----
ts-kernel-build | 1 +
3 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/make-flight b/make-flight
index 70c909d..7704d10 100755
--- a/make-flight
+++ b/make-flight
@@ -49,6 +49,8 @@ job_create_build_filter_callback () {
build-amd64) ;;
build-amd64-pvops) ;;
build-amd64-libvirt) ;;
+ build-arm64) ;;
+ build-arm64-pvops) ;;
build-armhf) ;;
build-armhf-pvops) ;;
*) return 1 ;;
@@ -80,6 +82,7 @@ job_create_test_filter_callback () {
case "$job" in
test-amd64-amd64-libvirt) return 0 ;;
test-armhf-armhf-xl) return 0 ;;
+ test-arm64-arm64-xl) return 0 ;;
test-amd64-amd64-xl-qemuu-debianhvm-i386) return 0 ;;
*) return 1 ;;
esac
@@ -145,7 +148,7 @@ job_create_test_filter_callback () {
test_matrix_branch_filter_callback () {
case "$xenarch" in
- armhf)
+ armhf|arm64)
case "$branch" in
linux-3.0) return 1;;
linux-3.4) return 1;;
@@ -499,7 +502,7 @@ test_matrix_do_one () {
do_credit2_tests
# No further arm tests at the moment
- if [ $dom0arch = armhf ]; then
+ if [ $dom0arch = armhf ] || [ $dom0arch = arm64 ]; then
return
fi
diff --git a/mfi-common b/mfi-common
index 5456c2c..ea70860 100644
--- a/mfi-common
+++ b/mfi-common
@@ -85,12 +85,12 @@ create_build_jobs () {
BUILD_RUNVARS+=" build_lvextend_max=$BUILD_LVEXTEND_MAX "
fi
- for arch in ${BUILD_ARCHES- i386 amd64 armhf }; do
+ for arch in ${BUILD_ARCHES- i386 amd64 armhf arm64 }; do
if [ "x$arch" = xdisable ]; then continue; fi
case "$arch" in
- armhf)
+ armhf|arm64)
case "$branch" in
linux-3.0) continue;;
linux-3.4) continue;;
@@ -291,7 +291,7 @@ create_build_jobs () {
fi
case "$arch" in
- armhf) continue;; # don't do any other kernel builds
+ armhf|arm64) continue;; # don't do any other kernel builds
esac
if [ "x$REVISION_LINUX_OLD" != xdisable ]; then
@@ -375,13 +375,25 @@ test_matrix_iterate () {
;;
esac
- for xenarch in ${TEST_ARCHES- i386 amd64 armhf } ; do
+ for xenarch in ${TEST_ARCHES- i386 amd64 armhf arm64 } ; do
if [ "x$xenarch" = xdisable ]; then continue; fi
test_matrix_branch_filter_callback || continue
case "$xenarch" in
+ arm64)
+ # Arm64 from 4.5 onwards only
+ case "$xenbranch" in
+ xen-3.*-testing) continue;;
+ xen-4.0-testing) continue;;
+ xen-4.1-testing) continue;;
+ xen-4.2-testing) continue;;
+ xen-4.3-testing) continue;;
+ xen-4.4-testing) continue;;
+ *) ;;
+ esac
+ ;;
armhf)
# Arm from 4.3 onwards only
case "$xenbranch" in
@@ -426,13 +438,14 @@ test_matrix_iterate () {
*) echo >&2 "kernkind ? $kern"; exit 1 ;;
esac
- for dom0arch in i386 amd64 armhf; do
+ for dom0arch in i386 amd64 armhf arm64; do
case ${xenarch}_${dom0arch} in
amd64_amd64) ;;
amd64_i386) ;;
i386_i386) ;;
armhf_armhf) ;;
+ arm64_arm64) ;;
*) continue ;;
esac
diff --git a/ts-kernel-build b/ts-kernel-build
index a16527b..dad63b9 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -39,6 +39,7 @@ builddirsprops();
my $archparms = {
'armhf' => { DefConfig => 'multi_v7_defconfig', KernelImage => 'arch/arm/boot/zImage' },
+ 'arm64' => { DefConfig => 'defconfig', KernelImage => 'arch/arm64/boot/Image' },
'i386' => { DefConfig => 'defconfig', KernelImage => 'arch/x86/boot/bzImage' },
'amd64' => { DefConfig => 'defconfig', KernelImage => 'arch/x86/boot/bzImage' }
};
--
2.5.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH OSSTEST v5] Add arm64 build and test jobs
2015-09-29 15:10 [PATCH OSSTEST v5] Add arm64 build and test jobs Ian Campbell
@ 2015-09-29 15:33 ` Ian Jackson
2015-09-29 16:01 ` Ian Campbell
0 siblings, 1 reply; 5+ messages in thread
From: Ian Jackson @ 2015-09-29 15:33 UTC (permalink / raw)
To: Ian Campbell; +Cc: xen-devel
Ian Campbell writes ("[PATCH OSSTEST v5] Add arm64 build and test jobs"):
> Runvars for the xen-unstable flight build jobs and an illustrative test:
...
Reading this again:
This is approximately doubling our ARM test bandwidth requirements,
isn't it ?
> test-arm64-arm64-libvirt
> test-arm64-arm64-libvirt-qcow2
> test-arm64-arm64-libvirt-raw
> test-arm64-arm64-libvirt-vhd
> test-arm64-arm64-libvirt-xsm
> test-arm64-arm64-xl
> test-arm64-arm64-xl-credit2
> test-arm64-arm64-xl-multivcpu
> test-arm64-arm64-xl-qcow2
> test-arm64-arm64-xl-raw
> test-arm64-arm64-xl-rtds
> test-arm64-arm64-xl-vhd
> test-arm64-arm64-xl-xsm
Maybe it would be worth doing some of these stripy in arch and disk
format ?
Also, why are there no
test-arm64-armhf
jobs ?
> In addition test-arm64-arm64-xl and appropriate build jobs are added
> to xen-unstable-smoke.
I think this is probably fine provided the arm test bandwidth doesn't
start to be the limiting factor.
Ian.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH OSSTEST v5] Add arm64 build and test jobs
2015-09-29 15:33 ` Ian Jackson
@ 2015-09-29 16:01 ` Ian Campbell
2015-09-29 16:33 ` Ian Jackson
0 siblings, 1 reply; 5+ messages in thread
From: Ian Campbell @ 2015-09-29 16:01 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel
On Tue, 2015-09-29 at 16:33 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST v5] Add arm64 build and test jobs"):
> > Runvars for the xen-unstable flight build jobs and an illustrative
> > test:
> ...
>
> Reading this again:
>
> This is approximately doubling our ARM test bandwidth requirements,
> isn't it ?
Not quite, since the arm32 and arm64 h/w is distinct. These tests won't run
on any of the arm32 hardware we have and the existing armhf tests won't run
on the new hwardware (for reasons I'll hopefully explain in the course of
answering the next question below).
> > test-arm64-arm64-libvirt
> > test-arm64-arm64-libvirt-qcow2
> > test-arm64-arm64-libvirt-raw
> > test-arm64-arm64-libvirt-vhd
> > test-arm64-arm64-libvirt-xsm
> > test-arm64-arm64-xl
> > test-arm64-arm64-xl-credit2
> > test-arm64-arm64-xl-multivcpu
> > test-arm64-arm64-xl-qcow2
> > test-arm64-arm64-xl-raw
> > test-arm64-arm64-xl-rtds
> > test-arm64-arm64-xl-vhd
> > test-arm64-arm64-xl-xsm
>
> Maybe it would be worth doing some of these stripy in arch and disk
> format ?
>
> Also, why are there no
> test-arm64-armhf
> jobs ?
"It's complicated".
On x86 it is expected that a 64-bit processor will support 32-bit just fine
and everything (drivers etc) will be available etc, and people even
routinely test such processors running in 32-bit mode.
For ARMv8 the standard allows for implementations which include AArch32 (32
-bit ISA mostly compatible with ARMv7) at all privilege levels.
But each new ARMv8 processor implementation involves a certain amount of
per vendor code in Linux in arch/arm64 (the AArch64 AKA 64-bit port). That
support is rarely (never?) also added to arch/arm (the 32-bit port). Hence
it would be unusual to even find a 32-bit kernel to run on a 64-bit capable
processor.
Unlike with x86 it's unclear if there will ever be sufficient legacy drag
to cause such support to become a thing. I personally doubt it will.
Now there is another possibility, which is 32-bit userspace on a 64-bit
processor, which is something which Xen on ARM could support. I just didn't
think it was worth adding testing of that just now. It adds another nested
loop to make-flight and some complexity in the test naming etc (test-arm64
-armhf-armhf-foo?). In reality I think it unlikely people will use that for
dom0 though (there's no real reason to do so AFAICT).
I suppose there is also a fourth possibility which is a fully 64-bit host
with 32-bit guests, which is probably the most plausible and useful one,
and something we ought to consider testing at some point.
Ian.
> > In addition test-arm64-arm64-xl and appropriate build jobs are added
> > to xen-unstable-smoke.
>
> I think this is probably fine provided the arm test bandwidth doesn't
> start to be the limiting factor.
>
> Ian.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH OSSTEST v5] Add arm64 build and test jobs
2015-09-29 16:01 ` Ian Campbell
@ 2015-09-29 16:33 ` Ian Jackson
2015-09-30 8:21 ` Ian Campbell
0 siblings, 1 reply; 5+ messages in thread
From: Ian Jackson @ 2015-09-29 16:33 UTC (permalink / raw)
To: Ian Campbell; +Cc: xen-devel
Ian Campbell writes ("Re: [PATCH OSSTEST v5] Add arm64 build and test jobs"):
> Not quite, since the arm32 and arm64 h/w is distinct. These tests won't run
> on any of the arm32 hardware we have and the existing armhf tests won't run
> on the new hwardware (for reasons I'll hopefully explain in the course of
> answering the next question below).
Ah. And we are hoping to get some arm64 hardware "RSN" ?
> > Also, why are there no
> > test-arm64-armhf
> > jobs ?
>
> "It's complicated".
...
> But each new ARMv8 processor implementation involves a certain amount of
> per vendor code in Linux in arch/arm64 (the AArch64 AKA 64-bit port). That
> support is rarely (never?) also added to arch/arm (the 32-bit port). Hence
> it would be unusual to even find a 32-bit kernel to run on a 64-bit capable
> processor.
...
> I suppose there is also a fourth possibility which is a fully 64-bit host
> with 32-bit guests, which is probably the most plausible and useful one,
> and something we ought to consider testing at some point.
It was this latter case which I was considering. Is this per vendor
code in Linux needed for a non-dom0 Xen guest to work ?
But anyway, I guess this means we can punt on this for now. Thanks
for the explanation.
Ian.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH OSSTEST v5] Add arm64 build and test jobs
2015-09-29 16:33 ` Ian Jackson
@ 2015-09-30 8:21 ` Ian Campbell
0 siblings, 0 replies; 5+ messages in thread
From: Ian Campbell @ 2015-09-30 8:21 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel
On Tue, 2015-09-29 at 17:33 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH OSSTEST v5] Add arm64 build and test
> jobs"):
> > Not quite, since the arm32 and arm64 h/w is distinct. These tests won't
> > run
> > on any of the arm32 hardware we have and the existing armhf tests won't
> > run
> > on the new hwardware (for reasons I'll hopefully explain in the course
> > of
> > answering the next question below).
>
> Ah. And we are hoping to get some arm64 hardware "RSN" ?
Yes indeed.
> > > Also, why are there no
> > > test-arm64-armhf
> > > jobs ?
> >
> > "It's complicated".
> ...
> > But each new ARMv8 processor implementation involves a certain amount
> > of
> > per vendor code in Linux in arch/arm64 (the AArch64 AKA 64-bit port).
> > That
> > support is rarely (never?) also added to arch/arm (the 32-bit port).
> > Hence
> > it would be unusual to even find a 32-bit kernel to run on a 64-bit
> > capable
> > processor.
> ...
> > I suppose there is also a fourth possibility which is a fully 64-bit
> > host
> > with 32-bit guests, which is probably the most plausible and useful
> > one,
> > and something we ought to consider testing at some point.
>
> It was this latter case which I was considering. Is this per vendor
> code in Linux needed for a non-dom0 Xen guest to work ?
No, they should work with just the Xen guest support.
> But anyway, I guess this means we can punt on this for now.
Yes please.
> Thanks
> for the explanation.
>
> Ian.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-09-30 8:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-29 15:10 [PATCH OSSTEST v5] Add arm64 build and test jobs Ian Campbell
2015-09-29 15:33 ` Ian Jackson
2015-09-29 16:01 ` Ian Campbell
2015-09-29 16:33 ` Ian Jackson
2015-09-30 8:21 ` 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.