* [PATCH OSSTEST v6 0/9] XSM test case for OSSTest
@ 2015-02-04 16:29 Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 1/9] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
` (8 more replies)
0 siblings, 9 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Hi all
This patch series attempts to duplicate some Debian test cases for XSM. This
is version 6 of this series, rebased on top of OSSTest pretest branch.
Tests duplicated for xen-unstable branch:
build-{i386,amd64,armhf}-xsm
test-amd64-{i386,amd64}-{xl,libvirt}-xsm
test-armhf-armhf-{xl,libvirt}-xsm
test-amd64-{i386,amd64}-xl-qemuu-debianhvm-amd64-xsm
test-amd64-(i386,amd64}-xl-qemut-debianhvm-amd64-xsm
Changes in v6 can be found in individual patch. Only the last patch needs an
ack.
See below for output of
./standalone-generate-dump-flight-runvars > origin # master
./standalone-generate-dump-flight-runvars > xsm # this series applied
diff -ub ../origin xsm | grep '-xen-unstable' | sed 's/[ \t]*$//' # nothing
diff -ub ../origin xsm | grep '+xen-unstable' | sed 's/[ \t]*$//'
+xen-unstable build-amd64 enable_xsm false
+xen-unstable build-amd64-xsm arch amd64
+xen-unstable build-amd64-xsm build_lvextend_max 50
+xen-unstable build-amd64-xsm enable_ovmf true
+xen-unstable build-amd64-xsm enable_xend false
+xen-unstable build-amd64-xsm enable_xsm true
+xen-unstable build-amd64-xsm host_hostflags share-build-wheezy-amd64,arch-amd64,suite-wheezy,purpose-build
+xen-unstable build-amd64-xsm revision_ovmf
+xen-unstable build-amd64-xsm revision_qemu
+xen-unstable build-amd64-xsm revision_qemuu 0d37748342e29854db7c9f6c47d7f58c6cfba6b2
+xen-unstable build-amd64-xsm revision_seabios
+xen-unstable build-amd64-xsm revision_xen c58ba78c84eecf4b7ed5e68d744c555112f8ad14
+xen-unstable build-amd64-xsm tree_ovmf
+xen-unstable build-amd64-xsm tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
+xen-unstable build-amd64-xsm tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
+xen-unstable build-amd64-xsm tree_seabios
+xen-unstable build-amd64-xsm tree_xen git://xenbits.xen.org/xen.git
+xen-unstable build-armhf enable_xsm false
+xen-unstable build-armhf-xsm arch armhf
+xen-unstable build-armhf-xsm build_lvextend_max 50
+xen-unstable build-armhf-xsm enable_ovmf true
+xen-unstable build-armhf-xsm enable_xend false
+xen-unstable build-armhf-xsm enable_xsm true
+xen-unstable build-armhf-xsm host_hostflags share-build-wheezy-armhf,arch-armhf,suite-wheezy,purpose-build
+xen-unstable build-armhf-xsm revision_ovmf
+xen-unstable build-armhf-xsm revision_qemu
+xen-unstable build-armhf-xsm revision_qemuu 0d37748342e29854db7c9f6c47d7f58c6cfba6b2
+xen-unstable build-armhf-xsm revision_seabios
+xen-unstable build-armhf-xsm revision_xen c58ba78c84eecf4b7ed5e68d744c555112f8ad14
+xen-unstable build-armhf-xsm tree_ovmf
+xen-unstable build-armhf-xsm tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
+xen-unstable build-armhf-xsm tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
+xen-unstable build-armhf-xsm tree_seabios
+xen-unstable build-armhf-xsm tree_xen git://xenbits.xen.org/xen.git
+xen-unstable build-i386 enable_xsm false
+xen-unstable build-i386-xsm arch i386
+xen-unstable build-i386-xsm build_lvextend_max 50
+xen-unstable build-i386-xsm enable_ovmf true
+xen-unstable build-i386-xsm enable_xend false
+xen-unstable build-i386-xsm enable_xsm true
+xen-unstable build-i386-xsm host_hostflags share-build-wheezy-i386,arch-i386,suite-wheezy,purpose-build
+xen-unstable build-i386-xsm revision_ovmf
+xen-unstable build-i386-xsm revision_qemu
+xen-unstable build-i386-xsm revision_qemuu 0d37748342e29854db7c9f6c47d7f58c6cfba6b2
+xen-unstable build-i386-xsm revision_seabios
+xen-unstable build-i386-xsm revision_xen c58ba78c84eecf4b7ed5e68d744c555112f8ad14
+xen-unstable build-i386-xsm tree_ovmf
+xen-unstable build-i386-xsm tree_qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
+xen-unstable build-i386-xsm tree_qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
+xen-unstable build-i386-xsm tree_seabios
+xen-unstable build-i386-xsm tree_xen git://xenbits.xen.org/xen.git
+xen-unstable test-amd64-amd64-libvirt enable_xsm false
+xen-unstable test-amd64-amd64-libvirt-xsm all_hostflags arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test
+xen-unstable test-amd64-amd64-libvirt-xsm arch amd64
+xen-unstable test-amd64-amd64-libvirt-xsm buildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-libvirt-xsm debian_arch amd64
+xen-unstable test-amd64-amd64-libvirt-xsm debian_kernkind pvops
+xen-unstable test-amd64-amd64-libvirt-xsm enable_xsm true
+xen-unstable test-amd64-amd64-libvirt-xsm kernbuildjob build-amd64-pvops
+xen-unstable test-amd64-amd64-libvirt-xsm kernkind pvops
+xen-unstable test-amd64-amd64-libvirt-xsm libvirtbuildjob build-amd64-xsm-libvirt
+xen-unstable test-amd64-amd64-libvirt-xsm toolstack libvirt
+xen-unstable test-amd64-amd64-libvirt-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl enable_xsm false
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64 enable_xsm false
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm all_hostflags arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm arch amd64
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm bios rombios
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm buildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm device_model_version qemu-xen-traditional
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm enable_xsm true
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm kernbuildjob build-amd64-pvops
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64 enable_xsm false
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm all_hostflags arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm arch amd64
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm bios seabios
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm buildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm device_model_version qemu-xen
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm enable_xsm true
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm kernbuildjob build-amd64-pvops
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-qemuu-ovmf-amd64 enable_xsm false
+xen-unstable test-amd64-amd64-xl-xsm all_hostflags arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test
+xen-unstable test-amd64-amd64-xl-xsm arch amd64
+xen-unstable test-amd64-amd64-xl-xsm buildjob build-amd64-xsm
+xen-unstable test-amd64-amd64-xl-xsm debian_arch amd64
+xen-unstable test-amd64-amd64-xl-xsm debian_kernkind pvops
+xen-unstable test-amd64-amd64-xl-xsm enable_xsm true
+xen-unstable test-amd64-amd64-xl-xsm kernbuildjob build-amd64-pvops
+xen-unstable test-amd64-amd64-xl-xsm kernkind pvops
+xen-unstable test-amd64-amd64-xl-xsm toolstack xl
+xen-unstable test-amd64-amd64-xl-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-i386-libvirt enable_xsm false
+xen-unstable test-amd64-i386-libvirt-xsm all_hostflags arch-i386,arch-xen-amd64,suite-wheezy,purpose-test
+xen-unstable test-amd64-i386-libvirt-xsm arch i386
+xen-unstable test-amd64-i386-libvirt-xsm buildjob build-i386-xsm
+xen-unstable test-amd64-i386-libvirt-xsm debian_arch i386
+xen-unstable test-amd64-i386-libvirt-xsm debian_kernkind pvops
+xen-unstable test-amd64-i386-libvirt-xsm enable_xsm true
+xen-unstable test-amd64-i386-libvirt-xsm kernbuildjob build-i386-pvops
+xen-unstable test-amd64-i386-libvirt-xsm kernkind pvops
+xen-unstable test-amd64-i386-libvirt-xsm libvirtbuildjob build-i386-xsm-libvirt
+xen-unstable test-amd64-i386-libvirt-xsm toolstack libvirt
+xen-unstable test-amd64-i386-libvirt-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-i386-xl enable_xsm false
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64 enable_xsm false
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm all_hostflags arch-i386,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm arch i386
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm bios rombios
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm buildjob build-i386-xsm
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm device_model_version qemu-xen-traditional
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm enable_xsm true
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm kernbuildjob build-i386-pvops
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-i386-xl-qemut-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64 enable_xsm false
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm all_hostflags arch-i386,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm arch i386
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm bios seabios
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm buildjob build-i386-xsm
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm debianhvm_image debian-7.2.0-amd64-CD-1.iso
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm device_model_version qemu-xen
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm enable_xsm true
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm kernbuildjob build-i386-pvops
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm kernkind pvops
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm toolstack xl
+xen-unstable test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-amd64-i386-xl-qemuu-ovmf-amd64 enable_xsm false
+xen-unstable test-amd64-i386-xl-xsm all_hostflags arch-i386,arch-xen-amd64,suite-wheezy,purpose-test
+xen-unstable test-amd64-i386-xl-xsm arch i386
+xen-unstable test-amd64-i386-xl-xsm buildjob build-i386-xsm
+xen-unstable test-amd64-i386-xl-xsm debian_arch i386
+xen-unstable test-amd64-i386-xl-xsm debian_kernkind pvops
+xen-unstable test-amd64-i386-xl-xsm enable_xsm true
+xen-unstable test-amd64-i386-xl-xsm kernbuildjob build-i386-pvops
+xen-unstable test-amd64-i386-xl-xsm kernkind pvops
+xen-unstable test-amd64-i386-xl-xsm toolstack xl
+xen-unstable test-amd64-i386-xl-xsm xenbuildjob build-amd64-xsm
+xen-unstable test-armhf-armhf-libvirt enable_xsm false
+xen-unstable test-armhf-armhf-libvirt-xsm all_hostflags arch-armhf,arch-xen-armhf,suite-wheezy,purpose-test
+xen-unstable test-armhf-armhf-libvirt-xsm arch armhf
+xen-unstable test-armhf-armhf-libvirt-xsm buildjob build-armhf-xsm
+xen-unstable test-armhf-armhf-libvirt-xsm debian_arch armhf
+xen-unstable test-armhf-armhf-libvirt-xsm debian_kernkind pvops
+xen-unstable test-armhf-armhf-libvirt-xsm enable_xsm true
+xen-unstable test-armhf-armhf-libvirt-xsm kernbuildjob build-armhf-pvops
+xen-unstable test-armhf-armhf-libvirt-xsm kernkind pvops
+xen-unstable test-armhf-armhf-libvirt-xsm libvirtbuildjob build-armhf-xsm-libvirt
+xen-unstable test-armhf-armhf-libvirt-xsm toolstack libvirt
+xen-unstable test-armhf-armhf-libvirt-xsm xenbuildjob build-armhf-xsm
+xen-unstable test-armhf-armhf-xl-arndale enable_xsm false
+xen-unstable test-armhf-armhf-xl-cubietruck enable_xsm false
+xen-unstable test-armhf-armhf-xl enable_xsm false
+xen-unstable test-armhf-armhf-xl-midway enable_xsm false
+xen-unstable test-armhf-armhf-xl-xsm all_hostflags arch-armhf,arch-xen-armhf,suite-wheezy,purpose-test
+xen-unstable test-armhf-armhf-xl-xsm arch armhf
+xen-unstable test-armhf-armhf-xl-xsm buildjob build-armhf-xsm
+xen-unstable test-armhf-armhf-xl-xsm debian_arch armhf
+xen-unstable test-armhf-armhf-xl-xsm debian_kernkind pvops
+xen-unstable test-armhf-armhf-xl-xsm enable_xsm true
+xen-unstable test-armhf-armhf-xl-xsm kernbuildjob build-armhf-pvops
+xen-unstable test-armhf-armhf-xl-xsm kernkind pvops
+xen-unstable test-armhf-armhf-xl-xsm toolstack xl
+xen-unstable test-armhf-armhf-xl-xsm xenbuildjob build-armhf-xsm
Wei.
Wei Liu (9):
overlay: update overlay/etc/grub.d/20_linux_xen
ts-xen-build-prep: install checkpolicy
ts-xen-build: build with XSM support if requested
mfi-common: create build-$arch-xsm job
Debian.pm: pass in XSM configuration to bootloader setup routines
Debian.pm: load flask policy in uboot
ts-xen-install: install Xen with XSM support if requested
make-flight: factor out do_pv_debian_tests
mfi-common, make-flight: create XSM test jobs
Osstest/Debian.pm | 61 +++++++++++++++++----
make-flight | 57 +++++++++++++++-----
mfi-common | 35 ++++++++++--
overlay/etc/grub.d/20_linux_xen | 117 +++++++++++++++++++++++++++++++---------
ts-xen-build | 14 +++++
ts-xen-build-prep | 2 +-
ts-xen-install | 5 +-
7 files changed, 237 insertions(+), 54 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 1/9] overlay: update overlay/etc/grub.d/20_linux_xen
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 2/9] ts-xen-build-prep: install checkpolicy Wei Liu
` (7 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
This file was originally created to work around Debian bug #633127
("/etc/grub/20_linux does not recognise some old Xen kernels").
According to Debian bug tracker [0], #633127 bug is fixed in Wheezy. As
we're now using Wheezy in OSSTest we can safely remove the old overlay
file if there's no further bugs discovered.
However we have another bug #690538 ("grub-common: Please make submenu
creation optional or at least allow users to disable it easily") that
would break OSSTest. We're now using Wheezy in production. There's no
way to disable submenu in Wheezy. And submenu breaks OSSTest's grub menu
parser.
So update this overlay file to the one in Wheezy's grub-common
1.99-27+deb7u2 and take care of Debian bug #690538 by removing the lines
to generate submenu.
Also work around GRUB bug #43420 ("20_linux_xen doesn't support Xen XSM
policy file") by applying a small patch proposed in [2].
Add a note to reference #633127 and #690538 above grub2 setup function.
0: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633127
1: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690538
2: https://savannah.gnu.org/bugs/?43420
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Debian.pm | 5 ++
overlay/etc/grub.d/20_linux_xen | 117 +++++++++++++++++++++++++++++++---------
2 files changed, 98 insertions(+), 24 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index e3e1c90..640f195 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -350,6 +350,11 @@ sub setupboot_grub1 ($$$) {
return $bl;
}
+# Note on running OSSTest on Squeeze with old Xen kernel: check out
+# Debian bug #633127 "/etc/grub/20_linux does not recognise some old
+# Xen kernels"
+# Currently setupboot_grub2 relies on Grub menu not having submenu.
+# Check Debian bug #690538.
sub setupboot_grub2 ($$$) {
my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
my $bl= { };
diff --git a/overlay/etc/grub.d/20_linux_xen b/overlay/etc/grub.d/20_linux_xen
index 99854d2..f5a8b81 100755
--- a/overlay/etc/grub.d/20_linux_xen
+++ b/overlay/etc/grub.d/20_linux_xen
@@ -1,7 +1,7 @@
#! /bin/sh
-# Copied from the identically named file in grub-common 1.98+20100804-14
-# i386. This version fixes #633127 (and has the patch I proposed there).
+# Copied from the identically named file in grub-common 1.99-27+deb7u2.
+# This version fixed Debian bug #690538 and GRUB bug #43420.
set -e
@@ -21,14 +21,14 @@ set -e
# You should have received a copy of the GNU General Public License
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
-prefix=/usr
-exec_prefix=${prefix}
-bindir=${exec_prefix}/bin
-libdir=${exec_prefix}/lib
-. ${libdir}/grub/grub-mkconfig_lib
+prefix="/usr"
+exec_prefix="${prefix}"
+datarootdir="${prefix}/share"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
export TEXTDOMAIN=grub
-export TEXTDOMAINDIR=${prefix}/share/locale
+export TEXTDOMAINDIR="${datarootdir}/locale"
CLASS="--class gnu-linux --class gnu --class os --class xen"
@@ -36,7 +36,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
else
OS="${GRUB_DISTRIBUTOR} GNU/Linux"
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr '[A-Z]' '[a-z]' | cut -d' ' -f1) ${CLASS}"
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
fi
# loop-AES arranges things so that /dev/loop/X can be our root device, but
@@ -44,6 +44,11 @@ fi
case ${GRUB_DEVICE} in
/dev/loop/*|/dev/loop[0-9])
GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
+ # We can't cope with devices loop-mounted from files here.
+ case ${GRUB_DEVICE} in
+ /dev/*) ;;
+ *) exit 0 ;;
+ esac
;;
esac
@@ -55,6 +60,23 @@ else
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi
+# Allow overriding GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT.
+if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE}" ]; then
+ GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_XEN_REPLACE}"
+fi
+if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" ]; then
+ GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}"
+fi
+
+if [ "x`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`" = xbtrfs ] \
+ || [ "x`stat -f --printf=%T /`" = xbtrfs ]; then
+ rootsubvol="`make_system_path_relative_to_its_root /`"
+ rootsubvol="${rootsubvol#/}"
+ if [ "x${rootsubvol}" != x ]; then
+ GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
+ fi
+fi
+
linux_entry ()
{
os="$1"
@@ -63,22 +85,43 @@ linux_entry ()
recovery="$4"
args="$5"
xen_args="$6"
- if ${recovery} ; then
- title="$(gettext_quoted "%s, with Linux %s and XEN %s (recovery mode)")"
+ xsm="$7"
+ # If user wants to enable XSM support, make sure there's
+ # corresponding policy file.
+ if ${xsm} ; then
+ xenpolicy=`echo xenpolicy-$xen_version`
+ if test ! -e "${xen_dirname}/${xenpolicy}" ; then
+ return
+ fi
+ xen_args=`echo $xen_args flask_enabled=1 flask_enforcing=1`
+ if ${recovery} ; then
+ title="$(gettext_quoted "%s, with Xen %s (XSM enabled) and Linux %s (recovery mode)")"
+ else
+ title="$(gettext_quoted "%s, with Xen %s (XSM enabled) and Linux %s")"
+ fi
else
- title="$(gettext_quoted "%s, with Linux %s and XEN %s")"
+ xenpolicy=""
+ if ${recovery} ; then
+ title="$(gettext_quoted "%s, with Xen %s and Linux %s (recovery mode)")"
+ else
+ title="$(gettext_quoted "%s, with Xen %s and Linux %s")"
+ fi
+ fi
+ printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${xen_version}" "${version}"
+ if ! ${recovery} ; then
+ save_default_entry | sed -e "s/^/\t/"
fi
- printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}" "${xen_version}"
- save_default_entry | sed -e "s/^/\t/"
if [ -z "${prepare_boot_cache}" ]; then
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
fi
printf '%s\n' "${prepare_boot_cache}"
- message="$(gettext_printf "Loading Linux %s ..." ${version})"
+ xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
+ lmessage="$(gettext_printf "Loading Linux %s ..." ${version})"
cat << EOF
- echo '$message'
+ echo '$xmessage'
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args}
+ echo '$lmessage'
module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
EOF
if test -n "${initrd}" ; then
@@ -88,17 +131,37 @@ EOF
module ${rel_dirname}/${initrd}
EOF
fi
+ if test -n "${xenpolicy}" ; then
+ message="$(gettext_printf "Loading XSM policy ...")"
+ cat << EOF
+ echo '$message'
+ module ${rel_dirname}/${xenpolicy}
+EOF
+ fi
cat << EOF
}
EOF
}
-linux_list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
+linux_list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
+ if grub_file_is_not_garbage "$i"; then
basename=$(basename $i)
version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
- if grub_file_is_not_garbage "$i" && grep -qx 'CONFIG_XEN_\(DOM0\|PRIVILEGED_GUEST\)=y' /boot/config-${version} 2> /dev/null ; then echo -n "$i " ; fi
- done`
-xen_list=`for i in /boot/xen*; do
+ dirname=$(dirname $i)
+ config=
+ for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
+ if test -e "${j}" ; then
+ config="${j}"
+ break
+ fi
+ done
+ if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then echo -n "$i " ; fi
+ fi
+ done`
+if [ "x${linux_list}" = "x" ] ; then
+ exit 0
+fi
+xen_list=`for i in /boot/xen[-.]*; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done`
prepare_boot_cache=
@@ -123,7 +186,9 @@ while [ "x${xen_list}" != "x" ] ; do
initrd=
for i in "initrd.img-${version}" "initrd-${version}.img" \
"initrd-${version}" "initrd.img-${alt_version}" \
- "initrd-${alt_version}.img" "initrd-${alt_version}"; do
+ "initrd-${alt_version}.img" "initrd-${alt_version}" \
+ "initramfs-genkernel-${version}" \
+ "initramfs-genkernel-${alt_version}" ; do
if test -e "${dirname}/${i}" ; then
initrd="$i"
break
@@ -137,10 +202,14 @@ while [ "x${xen_list}" != "x" ] ; do
fi
linux_entry "${OS}" "${version}" "${xen_version}" false \
- "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
- if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" false
+ linux_entry "${OS}" "${version}" "${xen_version}" false \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}" true
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${version}" "${xen_version}" true \
+ "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}" false
linux_entry "${OS}" "${version}" "${xen_version}" true \
- "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
+ "single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}" true
fi
list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 2/9] ts-xen-build-prep: install checkpolicy
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 1/9] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 3/9] ts-xen-build: build with XSM support if requested Wei Liu
` (6 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
This is used to complie Flask policy.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
ts-xen-build-prep | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ts-xen-build-prep b/ts-xen-build-prep
index 24a8b25..3684c0a 100755
--- a/ts-xen-build-prep
+++ b/ts-xen-build-prep
@@ -178,7 +178,7 @@ sub prep () {
autoconf automake libtool xsltproc
libxml2-utils libxml2-dev libnl-dev
libdevmapper-dev w3c-dtd-xhtml libxml-xpath-perl
- ccache nasm));
+ ccache nasm checkpolicy));
target_cmd_root($ho, "chmod -R a+r /usr/share/git-core/templates");
# workaround for Debian #595728
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 3/9] ts-xen-build: build with XSM support if requested
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 1/9] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 2/9] ts-xen-build-prep: install checkpolicy Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 4/9] mfi-common: create build-$arch-xsm job Wei Liu
` (5 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v5:
1. Only set XSM_ENABLE when runvar is defined.
2. Fix inconsistent whitespace.
Changes in v4:
1. Use "true" instead of "y"
---
ts-xen-build | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/ts-xen-build b/ts-xen-build
index 370bfbc..b1f29c6 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -27,6 +27,8 @@ tsreadconfig();
selectbuildhost(\@ARGV);
# remaining arguments are passed as targets to "make"
builddirsprops();
+
+my $enable_xsm = $r{enable_xsm} =~ m/true/ ? 1 : 0;
sub checkout () {
prepbuilddirs();
@@ -34,6 +36,7 @@ sub checkout () {
build_clone($ho, 'xen', $builddir, 'xen');
my $debug_build = $r{xen_build_debug} || 'y';
+ my $build_xsm = $enable_xsm ? 'y' : 'n';
# Do not set this unless you know what you are doing. This arm
# option makes the build specific to a particular type of
@@ -52,6 +55,9 @@ sub checkout () {
echo >>.config QEMU_REMOTE='$r{tree_qemu}'
echo >>.config KERNELS=''
END
+ (nonempty($r{enable_xsm}) ? <<END : '').
+ echo >>.config XSM_ENABLE='${build_xsm}'
+END
(nonempty($r{revision_qemu}) ? <<END : '').
echo >>.config QEMU_TAG='$r{revision_qemu}'
END
@@ -120,6 +126,14 @@ END
buildcmd_stamped_logged(9000, 'build', '',<<END,'');
$make_prefix make $makeflags @ARGV
END
+
+ if ($enable_xsm) {
+ my $xen_version = target_cmd_output_root($ho, <<END, 30);
+ cd $builddir/xen
+ $make_prefix make xenversion
+END
+ store_runvar("flaskpolicy", "xenpolicy-" . $xen_version);
+ }
}
sub collectversions () {
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 4/9] mfi-common: create build-$arch-xsm job
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
` (2 preceding siblings ...)
2015-02-04 16:29 ` [PATCH OSSTEST v6 3/9] ts-xen-build: build with XSM support if requested Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 5/9] Debian.pm: pass in XSM configuration to bootloader setup routines Wei Liu
` (4 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
Changes in v4:
1. Use "true" and "false" instead of "y" and "n".
2. Rename xenbranch_wants_xsm_tests to xenbranch_xsm_variants.
---
mfi-common | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/mfi-common b/mfi-common
index 44b6752..ee4e635 100644
--- a/mfi-common
+++ b/mfi-common
@@ -41,6 +41,19 @@ branch_wants_rumpkernel_tests () {
esac
}
+xenbranch_xsm_variants () {
+ # Test XSM from 4.5 onwards
+ case "$xenbranch" in
+ xen-3.*-testing) echo "false";;
+ xen-4.0-testing) echo "false";;
+ xen-4.1-testing) echo "false";;
+ xen-4.2-testing) echo "false";;
+ xen-4.3-testing) echo "false";;
+ xen-4.4-testing) echo "false";;
+ *) echo "false true";
+ esac
+}
+
create_build_jobs () {
local arch
@@ -141,8 +154,15 @@ create_build_jobs () {
build_hostflags=share-build-$suite-$arch,arch-$arch,suite-$suite,purpose-build
- ./cs-job-create $flight build-$arch build \
+ for enable_xsm in $(xenbranch_xsm_variants) ; do
+ if [ x$enable_xsm = xtrue ] ; then
+ xsm_suffix="-xsm"
+ else
+ xsm_suffix=""
+ fi
+ ./cs-job-create $flight build-$arch$xsm_suffix build \
arch=$arch enable_xend=$build_defxend enable_ovmf=$enable_ovmf\
+ enable_xsm=$enable_xsm \
tree_qemu=$TREE_QEMU \
tree_qemuu=$TREE_QEMU_UPSTREAM \
tree_xen=$TREE_XEN \
@@ -156,6 +176,7 @@ create_build_jobs () {
revision_qemuu=$REVISION_QEMU_UPSTREAM \
revision_seabios=$REVISION_SEABIOS \
revision_ovmf=$REVISION_OVMF
+ done
if [ $build_extraxend = "true" ] ; then
./cs-job-create $flight build-$arch-xend build \
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 5/9] Debian.pm: pass in XSM configuration to bootloader setup routines
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
` (3 preceding siblings ...)
2015-02-04 16:29 ` [PATCH OSSTEST v6 4/9] mfi-common: create build-$arch-xsm job Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 6/9] Debian.pm: load flask policy in uboot Wei Liu
` (3 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Change to Uboot will come in another patch. GRUB 1 is ignored, as
currently OSSTest only has Wheezy which has GRUB 2.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v6:
1. Wrap some overly long lines.
Changes in v4:
1. Modify callsite of debian_boot_setup to avoid regression.
---
Osstest/Debian.pm | 36 +++++++++++++++++++++++++-----------
ts-xen-install | 2 +-
2 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 640f195..8efc89e 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -47,9 +47,9 @@ BEGIN {
#---------- manipulation of Debian bootloader setup ----------
-sub debian_boot_setup ($$$$;$) {
+sub debian_boot_setup ($$$$$;$) {
# $xenhopt==undef => is actually a guest, do not set up a hypervisor
- my ($ho, $want_kernver, $xenhopt, $distpath, $hooks) = @_;
+ my ($ho, $want_kernver, $want_xsm, $xenhopt, $distpath, $hooks) = @_;
target_kernkind_check($ho);
target_kernkind_console_inittab($ho,$ho,"/");
@@ -74,11 +74,14 @@ sub debian_boot_setup ($$$$;$) {
my $bootloader;
if ( $ho->{Flags}{'need-uboot-bootscr'} ) {
- $bootloader= setupboot_uboot($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_uboot($ho, $want_kernver,
+ $want_xsm, $xenhopt, $kopt);
} elsif ($ho->{Suite} =~ m/lenny/) {
- $bootloader= setupboot_grub1($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_grub1($ho, $want_kernver,
+ $want_xsm, $xenhopt, $kopt);
} else {
- $bootloader= setupboot_grub2($ho, $want_kernver, $xenhopt, $kopt);
+ $bootloader= setupboot_grub2($ho, $want_kernver,
+ $want_xsm, $xenhopt, $kopt);
}
$bootloader->{UpdateConfig}($ho);
@@ -138,8 +141,9 @@ if test -z "\${fdt_addr}" && test -n "\${fdtfile}" ; then
fi
END
}
-sub setupboot_uboot ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+
+sub setupboot_uboot ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
$bl->{UpdateConfig}= sub {
@@ -270,13 +274,17 @@ END
return $bl;
}
-sub setupboot_grub1 ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_grub1 ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
my $rmenu= "/boot/grub/menu.lst";
my $lmenu= "$stash/$ho->{Name}--menu.lst.out";
+ if ($want_xsm) {
+ die "Enabling XSM with GRUB is not supported";
+ }
+
target_editfile_root($ho, $rmenu, sub {
while (<::EI>) {
if (m/^## ## Start Default/ ..
@@ -355,8 +363,8 @@ sub setupboot_grub1 ($$$) {
# Xen kernels"
# Currently setupboot_grub2 relies on Grub menu not having submenu.
# Check Debian bug #690538.
-sub setupboot_grub2 ($$$) {
- my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
+sub setupboot_grub2 ($$$$) {
+ my ($ho,$want_kernver,$want_xsm,$xenhopt,$xenkopt) = @_;
my $bl= { };
my $rmenu= '/boot/grub/grub.cfg';
@@ -383,6 +391,9 @@ sub setupboot_grub2 ($$$) {
$entry->{KernVer} ne $want_kernver) {
logm("(skipping entry at $entry->{StartLine};".
" kernel $entry->{KernVer}, not $want_kernver)");
+ } elsif ($want_xsm && !defined $entry->{Xenpolicy}) {
+ logm("(skipping entry at $entry->{StartLine};".
+ " XSM policy file not present)");
} else {
# yes!
last;
@@ -415,6 +426,9 @@ sub setupboot_grub2 ($$$) {
if (m/^\s*module\s*\/(initrd\S+)/) {
$entry->{Initrd}= $1;
}
+ if (m/^\s*module\s*\/(xenpolicy\S+)/) {
+ $entry->{Xenpolicy}= $1;
+ }
}
die 'grub 2 bootloader entry not found' unless $entry;
diff --git a/ts-xen-install b/ts-xen-install
index 7cfe344..829c3e9 100755
--- a/ts-xen-install
+++ b/ts-xen-install
@@ -171,7 +171,7 @@ sub setupboot () {
}
my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'});
- debian_boot_setup($ho, $want_kernver, $xenhopt, \%distpath, \@hooks);
+ debian_boot_setup($ho, $want_kernver, 0, $xenhopt, \%distpath, \@hooks);
logm("ready to boot Xen");
}
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 6/9] Debian.pm: load flask policy in uboot
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
` (4 preceding siblings ...)
2015-02-04 16:29 ` [PATCH OSSTEST v6 5/9] Debian.pm: pass in XSM configuration to bootloader setup routines Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 7/9] ts-xen-install: install Xen with XSM support if requested Wei Liu
` (2 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
Osstest/Debian.pm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 8efc89e..5c5ce7a 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -153,6 +153,24 @@ sub setupboot_uboot ($$$$) {
my $kern = "vmlinuz-$want_kernver";
my $initrd = "initrd.img-$want_kernver";
+ my $flask_commands = "";
+ if ($want_xsm) {
+ my $flaskpolicy = $r{flaskpolicy};
+ $flask_commands = <<END;
+
+setenv flask_policy_addr_r 0x1200000
+flaskpolicy=`readlink /boot/$flaskpolicy`
+ext2load scsi 0 \\\${flask_policy_addr_r} \$flaskpolicy
+fdt mknod /chosen module\@2
+fdt set /chosen/module\@2 compatible "xen,xsm-policy"
+fdt set /chosen/module\@2 reg <\\\${flask_policy_addr_r} \\\${filesize}>
+echo Loaded $flaskpolicy to \\\${flask_policy_addr_r} (\\\${filesize})
+
+END
+ }
+
+ my $root= target_guest_lv_name($ho,"root");
+
logm("Xen options: $xenhopt");
# Common kernel options
@@ -241,6 +259,8 @@ fdt set /chosen/module\@1 compatible "xen,linux-initrd" "xen,multiboot-module"
fdt set /chosen/module\@1 reg <\\\${ramdisk_addr_r} ${size_hex_prefix}\\\${filesize}>
echo Loaded $initrd to \\\${ramdisk_addr_r} (\\\${filesize})
+${flask_commands}
+
fdt print /chosen
echo Booting \\\${xen_addr_r} - \\\${fdt_addr}
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 7/9] ts-xen-install: install Xen with XSM support if requested
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
` (5 preceding siblings ...)
2015-02-04 16:29 ` [PATCH OSSTEST v6 6/9] Debian.pm: load flask policy in uboot Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 8/9] make-flight: factor out do_pv_debian_tests Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs Wei Liu
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
Changes in v4:
1. Use "true" instead of "y"
---
ts-xen-install | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/ts-xen-install b/ts-xen-install
index 829c3e9..de4324a 100755
--- a/ts-xen-install
+++ b/ts-xen-install
@@ -46,6 +46,8 @@ if (@ARGV and $ARGV[0] eq '--check') {
our $ho;
+my $enable_xsm = $r{enable_xsm} =~ m/true/ ? 1 : 0;
+
my %distpath;
sub packages () {
@@ -171,7 +173,8 @@ sub setupboot () {
}
my $want_kernver = get_runvar('kernel_ver',$r{'kernbuildjob'});
- debian_boot_setup($ho, $want_kernver, 0, $xenhopt, \%distpath, \@hooks);
+ debian_boot_setup($ho, $want_kernver, $enable_xsm, $xenhopt,
+ \%distpath, \@hooks);
logm("ready to boot Xen");
}
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 8/9] make-flight: factor out do_pv_debian_tests
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
` (6 preceding siblings ...)
2015-02-04 16:29 ` [PATCH OSSTEST v6 7/9] ts-xen-install: install Xen with XSM support if requested Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs Wei Liu
8 siblings, 0 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Pure code motion. No effect on job generation.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
make-flight | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/make-flight b/make-flight
index 63b14f5..0cb9b98 100755
--- a/make-flight
+++ b/make-flight
@@ -298,8 +298,7 @@ do_passthrough_tests () {
done
}
-test_matrix_do_one () {
-
+do_pv_debian_tests () {
# Basic PV Linux test with xl
for platform in '' `getplatforms $xenarch` ; do
suffix=${platform:+-$platform}
@@ -313,6 +312,11 @@ test_matrix_do_one () {
job_create_test test-$xenarch$kern-$dom0arch-libvirt test-debian libvirt \
$xenarch $dom0arch \
$debian_runvars all_hostflags=$most_hostflags
+}
+
+test_matrix_do_one () {
+
+ do_pv_debian_tests
do_multivcpu_tests
do_sedf_tests
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
` (7 preceding siblings ...)
2015-02-04 16:29 ` [PATCH OSSTEST v6 8/9] make-flight: factor out do_pv_debian_tests Wei Liu
@ 2015-02-04 16:29 ` Wei Liu
2015-02-04 16:47 ` Ian Jackson
8 siblings, 1 reply; 14+ messages in thread
From: Wei Liu @ 2015-02-04 16:29 UTC (permalink / raw)
To: xen-devel; +Cc: ian.jackson, Wei Liu, ian.campbell
Duplicate Debian PV and HVM test jobs for XSM testing.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v6:
1. Skip generating xsm job for different platforms.
2. Use "xsms".
3. Reformat some long lines.
---
make-flight | 53 +++++++++++++++++++++++++++++++++++++++--------------
mfi-common | 12 ++++++++++--
2 files changed, 49 insertions(+), 16 deletions(-)
diff --git a/make-flight b/make-flight
index 0cb9b98..8ac3a87 100755
--- a/make-flight
+++ b/make-flight
@@ -207,27 +207,36 @@ do_hvm_win7_x64_tests () {
do_hvm_debian_test_one () {
testname=$1
bios=$2
+ xsm=$3
+
job_create_test test-$xenarch$kern-$dom0arch-xl$qemuu_suffix-$testname-amd64\
test-debianhvm xl $xenarch $dom0arch $qemuu_runvar \
+ enable_xsm=$xsm \
debianhvm_image=debian-7.2.0-amd64-CD-1.iso \
bios=$bios \
all_hostflags=$most_hostflags,hvm
}
do_hvm_debian_tests() {
+ xsms=$(xenbranch_xsm_variants)
+
if [ $xenarch != amd64 ]; then
return
fi
# QEMU upstream supports ovmf and seabios
if [ "x$qemuu_suffix" == "x-qemuu" ]; then
- do_hvm_debian_test_one ovmf ovmf
- do_hvm_debian_test_one debianhvm seabios
+ do_hvm_debian_test_one ovmf ovmf false
+ for xsm in $xsms ; do
+ do_hvm_debian_test_one debianhvm seabios $xsm
+ done
fi
# QEMU traditional supports rombios
if [ "x$qemuu_suffix" == "x-qemut" ]; then
- do_hvm_debian_test_one debianhvm rombios
+ for xsm in $xsms ; do
+ do_hvm_debian_test_one debianhvm rombios $xsm
+ done
fi
}
@@ -299,19 +308,35 @@ do_passthrough_tests () {
}
do_pv_debian_tests () {
- # Basic PV Linux test with xl
- for platform in '' `getplatforms $xenarch` ; do
- suffix=${platform:+-$platform}
- hostflags=${most_hostflags}${platform:+,platform-$platform}
-
- job_create_test test-$xenarch$kern-$dom0arch-xl$suffix test-debian xl \
- $xenarch $dom0arch \
- $debian_runvars all_hostflags=$hostflags
+ xsms=$(xenbranch_xsm_variants)
+
+ for xsm in $xsms ; do
+ # Basic PV Linux test with xl
+ for platform in '' `getplatforms $xenarch` ; do
+
+ # xsm test is not platform specific
+ if [ x$xsm = xtrue -a x$platform != x ]; then
+ continue
+ fi
+
+ suffix=${platform:+-$platform}
+ hostflags=${most_hostflags}${platform:+,platform-$platform}
+
+ job_create_test test-$xenarch$kern-$dom0arch-xl$suffix \
+ test-debian xl \
+ $xenarch $dom0arch \
+ enable_xsm=$xsm \
+ $debian_runvars all_hostflags=$hostflags
+ done
done
- job_create_test test-$xenarch$kern-$dom0arch-libvirt test-debian libvirt \
- $xenarch $dom0arch \
- $debian_runvars all_hostflags=$most_hostflags
+ for xsm in $xsms ; do
+ job_create_test test-$xenarch$kern-$dom0arch-libvirt \
+ test-debian libvirt \
+ $xenarch $dom0arch \
+ enable_xsm=$xsm \
+ $debian_runvars all_hostflags=$most_hostflags
+ done
}
test_matrix_do_one () {
diff --git a/mfi-common b/mfi-common
index ee4e635..b99cc14 100644
--- a/mfi-common
+++ b/mfi-common
@@ -271,8 +271,16 @@ job_create_test () {
local xenarch=$1; shift
local dom0arch=$1; shift
- xenbuildjob="${bfi}build-$xenarch"
- buildjob="${bfi}build-$dom0arch"
+ xsm_suffix=""
+ for rv in $@ ; do
+ case $rv in
+ enable_xsm=true) xsm_suffix="-xsm";;
+ esac
+ done
+
+ job="$job$xsm_suffix"
+ xenbuildjob="${bfi}build-$xenarch$xsm_suffix"
+ buildjob="${bfi}build-$dom0arch$xsm_suffix"
tsbuildjob=
case "$xenbranch:$toolstack" in
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs
2015-02-04 16:29 ` [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs Wei Liu
@ 2015-02-04 16:47 ` Ian Jackson
2015-02-04 17:02 ` Wei Liu
0 siblings, 1 reply; 14+ messages in thread
From: Ian Jackson @ 2015-02-04 16:47 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.campbell, xen-devel
Wei Liu writes ("[PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs"):
> Duplicate Debian PV and HVM test jobs for XSM testing.
This looks pretty good. I have one minor comment:
> + xsm_suffix=""
> + for rv in $@ ; do
> + case $rv in
> + enable_xsm=true) xsm_suffix="-xsm";;
> + esac
> + done
You could write this as
case " $* " in
*" enable_xsm=true "*) xsm_suffix="-xsm";;
esac
since we don't cope with runvar settings with spaces in anyway.
(If we did you'd have to write "$@" not just $@ .)
Ian.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs
2015-02-04 16:47 ` Ian Jackson
@ 2015-02-04 17:02 ` Wei Liu
2015-02-05 11:08 ` Ian Jackson
2015-02-11 14:38 ` Ian Jackson
0 siblings, 2 replies; 14+ messages in thread
From: Wei Liu @ 2015-02-04 17:02 UTC (permalink / raw)
To: Ian Jackson; +Cc: Wei Liu, ian.campbell, xen-devel
On Wed, Feb 04, 2015 at 04:47:51PM +0000, Ian Jackson wrote:
> Wei Liu writes ("[PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs"):
> > Duplicate Debian PV and HVM test jobs for XSM testing.
>
> This looks pretty good. I have one minor comment:
>
> > + xsm_suffix=""
> > + for rv in $@ ; do
> > + case $rv in
> > + enable_xsm=true) xsm_suffix="-xsm";;
> > + esac
> > + done
>
> You could write this as
>
> case " $* " in
> *" enable_xsm=true "*) xsm_suffix="-xsm";;
> esac
>
> since we don't cope with runvar settings with spaces in anyway.
>
> (If we did you'd have to write "$@" not just $@ .)
>
> Ian.
Here is the updated version:
---8<---
>From 5b40b06a62ef51ad511e36bf6eb12f3e9e88a647 Mon Sep 17 00:00:00 2001
From: Wei Liu <wei.liu2@citrix.com>
Date: Mon, 2 Feb 2015 19:57:13 +0000
Subject: [PATCH OSSTEST v6] mfi-common, make-flight: create XSM test jobs
Cc: ian.campbell@citrix.com, ian.jackson@eu.citrix.com
Duplicate Debian PV and HVM test jobs for XSM testing.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v6:
1. Skip generating xsm job for different platforms.
2. Use "xsms".
3. Reformat some long lines.
---
make-flight | 53 +++++++++++++++++++++++++++++++++++++++--------------
mfi-common | 10 ++++++++--
2 files changed, 47 insertions(+), 16 deletions(-)
diff --git a/make-flight b/make-flight
index 0cb9b98..8ac3a87 100755
--- a/make-flight
+++ b/make-flight
@@ -207,27 +207,36 @@ do_hvm_win7_x64_tests () {
do_hvm_debian_test_one () {
testname=$1
bios=$2
+ xsm=$3
+
job_create_test test-$xenarch$kern-$dom0arch-xl$qemuu_suffix-$testname-amd64\
test-debianhvm xl $xenarch $dom0arch $qemuu_runvar \
+ enable_xsm=$xsm \
debianhvm_image=debian-7.2.0-amd64-CD-1.iso \
bios=$bios \
all_hostflags=$most_hostflags,hvm
}
do_hvm_debian_tests() {
+ xsms=$(xenbranch_xsm_variants)
+
if [ $xenarch != amd64 ]; then
return
fi
# QEMU upstream supports ovmf and seabios
if [ "x$qemuu_suffix" == "x-qemuu" ]; then
- do_hvm_debian_test_one ovmf ovmf
- do_hvm_debian_test_one debianhvm seabios
+ do_hvm_debian_test_one ovmf ovmf false
+ for xsm in $xsms ; do
+ do_hvm_debian_test_one debianhvm seabios $xsm
+ done
fi
# QEMU traditional supports rombios
if [ "x$qemuu_suffix" == "x-qemut" ]; then
- do_hvm_debian_test_one debianhvm rombios
+ for xsm in $xsms ; do
+ do_hvm_debian_test_one debianhvm rombios $xsm
+ done
fi
}
@@ -299,19 +308,35 @@ do_passthrough_tests () {
}
do_pv_debian_tests () {
- # Basic PV Linux test with xl
- for platform in '' `getplatforms $xenarch` ; do
- suffix=${platform:+-$platform}
- hostflags=${most_hostflags}${platform:+,platform-$platform}
-
- job_create_test test-$xenarch$kern-$dom0arch-xl$suffix test-debian xl \
- $xenarch $dom0arch \
- $debian_runvars all_hostflags=$hostflags
+ xsms=$(xenbranch_xsm_variants)
+
+ for xsm in $xsms ; do
+ # Basic PV Linux test with xl
+ for platform in '' `getplatforms $xenarch` ; do
+
+ # xsm test is not platform specific
+ if [ x$xsm = xtrue -a x$platform != x ]; then
+ continue
+ fi
+
+ suffix=${platform:+-$platform}
+ hostflags=${most_hostflags}${platform:+,platform-$platform}
+
+ job_create_test test-$xenarch$kern-$dom0arch-xl$suffix \
+ test-debian xl \
+ $xenarch $dom0arch \
+ enable_xsm=$xsm \
+ $debian_runvars all_hostflags=$hostflags
+ done
done
- job_create_test test-$xenarch$kern-$dom0arch-libvirt test-debian libvirt \
- $xenarch $dom0arch \
- $debian_runvars all_hostflags=$most_hostflags
+ for xsm in $xsms ; do
+ job_create_test test-$xenarch$kern-$dom0arch-libvirt \
+ test-debian libvirt \
+ $xenarch $dom0arch \
+ enable_xsm=$xsm \
+ $debian_runvars all_hostflags=$most_hostflags
+ done
}
test_matrix_do_one () {
diff --git a/mfi-common b/mfi-common
index ee4e635..a0603a2 100644
--- a/mfi-common
+++ b/mfi-common
@@ -271,8 +271,14 @@ job_create_test () {
local xenarch=$1; shift
local dom0arch=$1; shift
- xenbuildjob="${bfi}build-$xenarch"
- buildjob="${bfi}build-$dom0arch"
+ xsm_suffix=""
+ case " $* " in
+ *" enable_xsm=true "*) xsm_suffix="-xsm";
+ esac
+
+ job="$job$xsm_suffix"
+ xenbuildjob="${bfi}build-$xenarch$xsm_suffix"
+ buildjob="${bfi}build-$dom0arch$xsm_suffix"
tsbuildjob=
case "$xenbranch:$toolstack" in
--
1.9.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs
2015-02-04 17:02 ` Wei Liu
@ 2015-02-05 11:08 ` Ian Jackson
2015-02-11 14:38 ` Ian Jackson
1 sibling, 0 replies; 14+ messages in thread
From: Ian Jackson @ 2015-02-05 11:08 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.campbell, xen-devel
Wei Liu writes ("Re: [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs"):
> Here is the updated version:
> ---8<---
> >From 5b40b06a62ef51ad511e36bf6eb12f3e9e88a647 Mon Sep 17 00:00:00 2001
> From: Wei Liu <wei.liu2@citrix.com>
> Date: Mon, 2 Feb 2015 19:57:13 +0000
> Subject: [PATCH OSSTEST v6] mfi-common, make-flight: create XSM test jobs
> Cc: ian.campbell@citrix.com, ian.jackson@eu.citrix.com
>
> Duplicate Debian PV and HVM test jobs for XSM testing.
Thanks,
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs
2015-02-04 17:02 ` Wei Liu
2015-02-05 11:08 ` Ian Jackson
@ 2015-02-11 14:38 ` Ian Jackson
1 sibling, 0 replies; 14+ messages in thread
From: Ian Jackson @ 2015-02-11 14:38 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.campbell, xen-devel
Wei Liu writes ("Re: [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs"):
> Here is the updated version:
...
> Duplicate Debian PV and HVM test jobs for XSM testing.
Thanks. This series (v7, then) is currently in the osstest
self-push-gate.
Ian.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-02-11 14:38 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-04 16:29 [PATCH OSSTEST v6 0/9] XSM test case for OSSTest Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 1/9] overlay: update overlay/etc/grub.d/20_linux_xen Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 2/9] ts-xen-build-prep: install checkpolicy Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 3/9] ts-xen-build: build with XSM support if requested Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 4/9] mfi-common: create build-$arch-xsm job Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 5/9] Debian.pm: pass in XSM configuration to bootloader setup routines Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 6/9] Debian.pm: load flask policy in uboot Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 7/9] ts-xen-install: install Xen with XSM support if requested Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 8/9] make-flight: factor out do_pv_debian_tests Wei Liu
2015-02-04 16:29 ` [PATCH OSSTEST v6 9/9] mfi-common, make-flight: create XSM test jobs Wei Liu
2015-02-04 16:47 ` Ian Jackson
2015-02-04 17:02 ` Wei Liu
2015-02-05 11:08 ` Ian Jackson
2015-02-11 14:38 ` Ian Jackson
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.