flight 101190 xen-unstable real [real] http://logs.test-lab.xenproject.org/osstest/logs/101190/
Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl-xsm 17 guest-destroy fail REGR. vs. 101182 Regressions which are regarded as allowable (not blocking): test-amd64-amd64-xl-rtds 9 debian-install fail blocked in 101182 test-armhf-armhf-xl-rtds 15 guest-start/debian.repeat fail like 101182 test-amd64-i386-xl-qemut-win7-amd64 16 guest-stop fail like 101182 test-amd64-i386-xl-qemuu-win7-amd64 16 guest-stop fail like 101182 test-amd64-amd64-xl-qemut-win7-amd64 16 guest-stop fail like 101182 test-amd64-amd64-xl-qemuu-win7-amd64 16 guest-stop fail like 101182 Tests which did not succeed, but are not blocking: test-amd64-i386-rumprun-i386 1 build-check(1) blocked n/a test-amd64-amd64-rumprun-amd64 1 build-check(1) blocked n/a build-i386-rumprun 5 rumprun-build fail never pass build-amd64-rumprun 5 rumprun-build fail never pass test-armhf-armhf-libvirt 12 migrate-support-check fail never pass test-armhf-armhf-libvirt 14 guest-saverestore fail never pass test-armhf-armhf-libvirt-raw 11 migrate-support-check fail never pass test-armhf-armhf-libvirt-raw 13 guest-saverestore fail never pass test-armhf-armhf-libvirt-xsm 12 migrate-support-check fail never pass test-armhf-armhf-libvirt-xsm 14 guest-saverestore fail never pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 10 migrate-support-check fail never pass test-armhf-armhf-libvirt-qcow2 11 migrate-support-check fail never pass test-armhf-armhf-libvirt-qcow2 13 guest-saverestore fail never pass test-armhf-armhf-xl 12 migrate-support-check fail never pass test-armhf-armhf-xl 13 saverestore-support-check fail never pass test-armhf-armhf-xl-credit2 12 migrate-support-check fail never pass test-armhf-armhf-xl-credit2 13 saverestore-support-check fail never pass test-armhf-armhf-xl-vhd 11 migrate-support-check fail never pass test-armhf-armhf-xl-vhd 12 saverestore-support-check fail never pass test-armhf-armhf-xl-arndale 12 migrate-support-check fail never pass test-armhf-armhf-xl-arndale 13 saverestore-support-check fail never pass test-armhf-armhf-xl-multivcpu 12 migrate-support-check fail never pass test-armhf-armhf-xl-multivcpu 13 saverestore-support-check fail never pass test-armhf-armhf-xl-rtds 12 migrate-support-check fail never pass test-armhf-armhf-xl-rtds 13 saverestore-support-check fail never pass test-armhf-armhf-xl-cubietruck 12 migrate-support-check fail never pass test-armhf-armhf-xl-cubietruck 13 saverestore-support-check fail never pass test-armhf-armhf-xl-xsm 12 migrate-support-check fail never pass test-armhf-armhf-xl-xsm 13 saverestore-support-check fail never pass test-amd64-amd64-libvirt-vhd 11 migrate-support-check fail never pass test-amd64-amd64-libvirt-xsm 12 migrate-support-check fail never pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 10 migrate-support-check fail never pass test-amd64-amd64-libvirt 12 migrate-support-check fail never pass test-amd64-amd64-xl-pvh-amd 11 guest-start fail never pass test-amd64-i386-libvirt-xsm 12 migrate-support-check fail never pass test-amd64-i386-libvirt 12 migrate-support-check fail never pass test-amd64-amd64-qemuu-nested-amd 16 debian-hvm-install/l1/l2 fail never pass test-amd64-amd64-xl-pvh-intel 11 guest-start fail never pass version targeted for testing: xen da9207c864ab363fc29a2d861f9da07fd9ca1e16 baseline version: xen 1e75ed8b64bc1a9b47e540e6f100f17ec6d97f1b Last test of basis 101182 2016-09-28 09:43:21 Z 0 days Testing same since 101190 2016-09-28 16:15:31 Z 0 days 1 attempts ------------------------------------------------------------ People who touched revisions under test: Jan Beulich <jbeul...@suse.com> [for non-ARM parts] Jan Beulich <jbeul...@suse.com> [non-arm parts] Juergen Gross <jgr...@suse.com> Julien Grall <julien.gr...@arm.com> Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Wei Liu <wei.l...@citrix.com> jobs: build-amd64-xsm pass build-armhf-xsm pass build-i386-xsm pass build-amd64-xtf pass build-amd64 pass build-armhf pass build-i386 pass build-amd64-libvirt pass build-armhf-libvirt pass build-i386-libvirt pass build-amd64-oldkern pass build-i386-oldkern pass build-amd64-prev pass build-i386-prev pass build-amd64-pvops pass build-armhf-pvops pass build-i386-pvops pass build-amd64-rumprun fail build-i386-rumprun fail test-xtf-amd64-amd64-1 pass test-xtf-amd64-amd64-2 pass test-xtf-amd64-amd64-3 pass test-xtf-amd64-amd64-4 pass test-xtf-amd64-amd64-5 pass test-amd64-amd64-xl pass test-armhf-armhf-xl pass test-amd64-i386-xl pass test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm pass test-amd64-i386-xl-qemut-debianhvm-amd64-xsm pass test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm pass test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm pass test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm pass test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm pass test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm pass test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm pass test-amd64-amd64-libvirt-xsm pass test-armhf-armhf-libvirt-xsm fail test-amd64-i386-libvirt-xsm pass test-amd64-amd64-xl-xsm pass test-armhf-armhf-xl-xsm fail test-amd64-i386-xl-xsm pass test-amd64-amd64-qemuu-nested-amd fail test-amd64-amd64-xl-pvh-amd fail test-amd64-i386-qemut-rhel6hvm-amd pass test-amd64-i386-qemuu-rhel6hvm-amd pass test-amd64-amd64-xl-qemut-debianhvm-amd64 pass test-amd64-i386-xl-qemut-debianhvm-amd64 pass test-amd64-amd64-xl-qemuu-debianhvm-amd64 pass test-amd64-i386-xl-qemuu-debianhvm-amd64 pass test-amd64-i386-freebsd10-amd64 pass test-amd64-amd64-xl-qemuu-ovmf-amd64 pass test-amd64-i386-xl-qemuu-ovmf-amd64 pass test-amd64-amd64-rumprun-amd64 blocked test-amd64-amd64-xl-qemut-win7-amd64 fail test-amd64-i386-xl-qemut-win7-amd64 fail test-amd64-amd64-xl-qemuu-win7-amd64 fail test-amd64-i386-xl-qemuu-win7-amd64 fail test-armhf-armhf-xl-arndale pass test-amd64-amd64-xl-credit2 pass test-armhf-armhf-xl-credit2 pass test-armhf-armhf-xl-cubietruck pass test-amd64-i386-freebsd10-i386 pass test-amd64-i386-rumprun-i386 blocked test-amd64-amd64-qemuu-nested-intel pass test-amd64-amd64-xl-pvh-intel fail test-amd64-i386-qemut-rhel6hvm-intel pass test-amd64-i386-qemuu-rhel6hvm-intel pass test-amd64-amd64-libvirt pass test-armhf-armhf-libvirt fail test-amd64-i386-libvirt pass test-amd64-amd64-migrupgrade pass test-amd64-i386-migrupgrade pass test-amd64-amd64-xl-multivcpu pass test-armhf-armhf-xl-multivcpu pass test-amd64-amd64-pair pass test-amd64-i386-pair pass test-amd64-amd64-libvirt-pair pass test-amd64-i386-libvirt-pair pass test-amd64-amd64-amd64-pvgrub pass test-amd64-amd64-i386-pvgrub pass test-amd64-amd64-pygrub pass test-armhf-armhf-libvirt-qcow2 fail test-amd64-amd64-xl-qcow2 pass test-armhf-armhf-libvirt-raw fail test-amd64-i386-xl-raw pass test-amd64-amd64-xl-rtds fail test-armhf-armhf-xl-rtds fail test-amd64-i386-xl-qemut-winxpsp3-vcpus1 pass test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 pass test-amd64-amd64-libvirt-vhd pass test-armhf-armhf-xl-vhd pass test-amd64-amd64-xl-qemut-winxpsp3 pass test-amd64-i386-xl-qemut-winxpsp3 pass test-amd64-amd64-xl-qemuu-winxpsp3 pass test-amd64-i386-xl-qemuu-winxpsp3 pass ------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/logs/logs images: /home/logs/images Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs Explanation of these reports, and of osstest in general, is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master Test harness code can be found at http://xenbits.xen.org/gitweb?p=osstest.git;a=summary Not pushing. ------------------------------------------------------------ commit da9207c864ab363fc29a2d861f9da07fd9ca1e16 Author: Wei Liu <wei.l...@citrix.com> Date: Wed Sep 28 12:12:13 2016 +0100 Config.mk: update mini-os commit Signed-off-by: Wei Liu <wei.l...@citrix.com> commit 61997d867fb1c1cf1846c7dced94d72434ccde18 Author: Juergen Gross <jgr...@suse.com> Date: Wed Sep 28 10:31:58 2016 +0200 pvgrub: use printk() instead of grub_printf() grub_printf() is supporting only a very limited number of formats. Especially some error messages suffer from that, e.g. %lx won't work. Switch to use printk() for error messages instead. Signed-off-by: Juergen Gross <jgr...@suse.com> Acked-by: Wei Liu <wei.l...@citrix.com> commit 9714f6b87e19b32d3a6663a20df6610265c4bfe5 Author: Juergen Gross <jgr...@suse.com> Date: Wed Sep 28 06:02:44 2016 +0200 pvgrub: fix crash when booting kernel with p2m list outside kernel mapping When trying to boot a kernel with the p2m list not mapped by the initial kernel mapping it can happen that pvgrub is failing as it is keeping some page tables mapped. Unmap the additional page tables created for the special p2m mapping will avoid this failure. Reported-by: Sven Koehler <sven.koeh...@gmail.com> Signed-off-by: Juergen Gross <jgr...@suse.com> Acked-by: Wei Liu <wei.l...@citrix.com> commit 0297e84a73ccd5f408e8d6b62b8e5644e11a97d7 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Sat Sep 10 20:41:24 2016 -0400 livepatch: arm[32,64],x86: NOP test-case The test-case is quite simple - we NOP the 'xen_minor_version'. The amount of NOPs depends on the architecture. On x86 the function is 11 bytes long: 55 push %rbp <- NOP 48 89 e5 mov %rsp,%rbp <- NOP b8 04 00 00 00 mov $0x4,%eax <- NOP 5d pop %rbp <- NOP c3 retq We can NOP everything but the last instruction (so 10 bytes). On ARM64 its 8 bytes: 52800100 mov w0, #0x8 <- NOP d65f03c0 ret We can NOP the first instruction. While on ARM32 there are 24 bytes: e52db004 push {fp} <- NOP e28db000 add fp, sp, #0 <- NOP e3a00008 mov r0, #8 <- NOP e24bd000 sub sp, fp, #0 <- NOP e49db004 pop {fp} <- NOP e12fff1e bx lr And we can NOP instructions 1 through 5. Granted this code may be different per compiler! Hence if anybody does run this test-case - they should verify that the assumptions made here are correct. Acked-by: Julien Grall <julien.gr...@arm.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit 008a8a029d90feb949c0fa374b4513147d9852d2 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Fri Sep 23 11:25:12 2016 -0400 livepatch, arm[32|64]: Share arch_livepatch_revert It is exactly the same in both platforms. No functional change. Acked-by: Julien Grall <julien.gr...@arm.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit 3dbe9a994ab6feafdbccbbebcaac2ff35a725979 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Thu Sep 22 20:15:09 2016 -0400 livepatch: Initial ARM32 support. The patch piggybacks on: livepatch: Initial ARM64 support, which brings up all of the necessary livepatch infrastructure pieces in. This patch adds three major pieces: 1) ELF relocations. ARM32 uses SHT_REL instead of SHT_RELA which means the adddendum had to be extracted from within the instruction. Which required parsing BL/BLX, B/BL<cond>, MOVT, and MOVW instructions. The code was written from scratch using the ARM ELF manual (and the ARM Architecture Reference Manual) 2) Inserting an trampoline. We use the B (branch to address) which uses an offset that is based on the PC value: PC + imm32. Because we insert the branch at the start of the old function we have to account for the instruction already being fetched and subtract -8 from the delta (new_addr - old_addr). See ARM DDI 0406C.c, see A2.3 (pg 45) and A8.8.18 pg (pg 334,335) 3) Allows the test-cases to be built under ARM 32. The "livepatch: tests: Make them compile under ARM64" put in the right infrastructure for it and we piggyback on it. Acked-by: Julien Grall <julien.gr...@arm.com> Acked-by: Jan Beulich <jbeul...@suse.com> [for non-ARM parts] Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit 010b823195b8c32559c6fde101d51a21458ef351 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Mon Sep 19 16:04:55 2016 -0400 livepatch: tests: Make them compile under ARM64 We need to two things: 1) Wrap the platform-specific objcopy parameters in defines The input and output parameters for $(OBJCOPY) are different based on the platforms. As such provide them in the OBJCOPY_MAGIC define and use that. 2) The alternative is a bit different (exists only under ARM64 and x86), while and there are no exceptions under ARM at all. We use the LIVEPATCH_FEATURE CPU id feature for ARM similar to how it is done on x86. We are not yet attempting to build them under ARM32 so that is still ifdefed out. Reviewed-by: Ross Lagerwall <ross.lagerw...@citrix.com> Acked-by: Julien Grall <julien.gr...@arm.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit 3e930bf7b2e6e1264d18000dc407526cb4c67550 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Mon Sep 19 12:41:28 2016 -0400 livepatch: x86, ARM, alternative: Expose FEATURE_LIVEPATCH To use as a common way of testing alternative patching for livepatches. Both architectures have this FEATURE and the test-cases can piggyback on that. Reviewed-by: Ross Lagerwall <ross.lagerw...@citrix.com> Acked-by: Julien Grall <julien.gr...@arm.com> Suggested-by: Julien Grall <julien.gr...@arm.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit e04977e0c0c1aa50d7d1ca1f172af587776040a3 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Tue Sep 13 13:15:07 2016 -0400 livepatch/arm/x86: Check payload for for unwelcomed symbols. Certain platforms, such as ARM [32|64] add extra mapping symbols such as $x (for ARM64 instructions), or more interesting to this patch: $t (for Thumb instructions). These symbols are supposed to help the final linker to make any adjustments (such as add an veneer). But more importantly - we do not compile Xen with any Thumb instructions (which are variable length) - and if we find these mapping symbols we should disallow such payload. Reviewed-by: Ross Lagerwall <ross.lagerw...@citrix.com> Reviewed-by: Julien Grall <julien.gr...@arm.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit 725e8e66c6cdbf973e172a17eac2763818bcf401 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Fri Aug 12 23:08:32 2016 -0400 livepatch: ARM 32|64: Ignore mapping symbols: $[d,a,x] Those symbols are used to help final linkers to replace insn. The ARM ELF specification mandates that they are present to denote the start of certain CPU features. There are two variants of it - short and long format. Either way - we can ignore these symbols. Reviewed-by: Ross Lagerwall <ross.lagerw...@citrix.com> Acked-by: Julien Grall <julien.gr...@arm.com> Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com> [x86 bits] Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit 84eabb2754b3059cfb19b5ec801462324430f26a Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Mon Sep 19 12:37:50 2016 -0400 livepatch: ARM/x86: Check displacement of old_addr and new_addr If the distance is too big we are in trouble - as our relocation distance can surely be clipped, or still have a valid width - but cause an overflow of distance. On various architectures the maximum displacement for a unconditional branch/jump varies. ARM32 is +/- 32MB, ARM64 is +/- 128MB while x86 for 32-bit relocations is +/- 2G. Note: On x86 we could use the 64-bit jmpq instruction which would provide much bigger displacement to do a jump, but we would still have issues with the new function not being able to reach any of the old functions (as all the relocations would assume 32-bit displacement). And "furthermore would require an register or memory location to load/store the address to." (From Jan). On ARM the conditional branch supports even a smaller displacement but fortunately we are not using that. Reviewed-by: Julien Grall <julien.gr...@arm.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> commit 0d35756e4cb952394248b2932b28de12a3e3a240 Author: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Date: Mon Sep 19 12:24:09 2016 -0400 livepatch: Initial ARM64 support. As compared to x86 the va of the hypervisor .text is locked down - we cannot modify the running pagetables to have the .ro flag unset. We borrow the same idea that alternative patching has - which is to vmap the entire .text region and use the alternative virtual address for patching. Since we are doing vmap we may fail, hence the arch_livepatch_quiesce was changed (see "x86,arm: Change arch_livepatch_quiesce() declaration") to return an error value which will be bubbled in payload->rc and provided to the user (along with messages in the ring buffer). The livepatch virtual address space (where the new functions are) needs to be close to the hypervisor virtual address so that the trampoline can reach it. As such we re-use the BOOT_RELOC_VIRT_START which is not used after bootup (alternatively we can also use the space after the _end to FIXMAP_ADDR(0), but that may be too small). The ELF relocation engine at the start was coded from the "ELF for the ARM 64-bit Architecture (AArch64)" (http://infocenter.arm.com/help/topic/com.arm.doc.ihi0056b/IHI0056B_aaelf64.pdf) but after a while of trying to write the correct bit shifting and masking from scratch I ended up borrowing from Linux, the 'reloc_insn_imm' (Linux v4.7 arch/arm64/kernel/module.c function. See 257cb251925f854da435cbf79b140984413871ac "arm64: Loadable modules") And while at it - we also utilize code from Linux to construct the right branch instruction (see "arm64/insn: introduce aarch64_insn_gen_{nop|branch_imm}() helper functions"). In the livepatch payload loading code we tweak the #ifdef to only exclude ARM_32. The exceptions are not part of ARM 32/64 hence they are still behind the #ifdef. We also expand the MAINTAINERS file to include the arm64 and arm32 platform specific livepatch file. Acked-by: Julien Grall <julien.gr...@arm.com> Acked-by: Jan Beulich <jbeul...@suse.com> [non-arm parts] Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> (qemu changes not included) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel