[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen-unstable-smoke bisection] complete test-arm64-arm64-xl-xsm
branch xen-unstable-smoke xenbranch xen-unstable-smoke job test-arm64-arm64-xl-xsm testid xen-boot Tree: linux git://xenbits.xen.org/linux-pvops.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git *** Found and reproduced problem changeset *** Bug is in tree: xen git://xenbits.xen.org/xen.git Bug introduced: 8a71d50ed40bfa78c37722dc11995ac2563662c3 Bug not present: 4dced5df761e36fa2561f6f0f6563b3580d95e7f Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/155652/ commit 8a71d50ed40bfa78c37722dc11995ac2563662c3 Author: Trammell Hudson <hudson@xxxxxxxx> Date: Fri Oct 2 07:18:21 2020 -0400 efi: Enable booting unified hypervisor/kernel/initrd images This patch adds support for bundling the xen.efi hypervisor, the xen.cfg configuration file, the Linux kernel and initrd, as well as the XSM, and architectural specific files into a single "unified" EFI executable. This allows an administrator to update the components independently without requiring rebuilding xen, as well as to replace the components in an existing image. The resulting EFI executable can be invoked directly from the UEFI Boot Manager, removing the need to use a separate loader like grub as well as removing dependencies on local filesystem access. And since it is a single file, it can be signed and validated by UEFI Secure Boot without requring the shim protocol. It is inspired by systemd-boot's unified kernel technique and borrows the function to locate PE sections from systemd's LGPL'ed code. During EFI boot, Xen looks at its own loaded image to locate the PE sections for the Xen configuration (`.config`), dom0 kernel (`.kernel`), dom0 initrd (`.ramdisk`), and XSM config (`.xsm`), which are included after building xen.efi using objcopy to add named sections for each input file. For x86, the CPU ucode can be included in a section named `.ucode`, which is loaded in the efi_arch_cfg_file_late() stage of the boot process. On ARM systems the Device Tree can be included in a section named `.dtb`, which is loaded during the efi_arch_cfg_file_early() stage of the boot process. Note that the system will fall back to loading files from disk if the named sections do not exist. This allows distributions to continue with the status quo if they want a signed kernel + config, while still allowing a user provided initrd (which is how the shim protocol currently works as well). This patch also adds constness to the section parameter of efi_arch_cfg_file_early() and efi_arch_cfg_file_late(), changes pe_find_section() to use a const CHAR16 section name, and adds pe_name_compare() to match section names. Signed-off-by: Trammell Hudson <hudson@xxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> [Fix ARM build by including pe.init.o] Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable-smoke/test-arm64-arm64-xl-xsm.xen-boot.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable-smoke/test-arm64-arm64-xl-xsm.xen-boot --summary-out=tmp/155652.bisection-summary --basis-template=155584 --blessings=real,real-bisect xen-unstable-smoke test-arm64-arm64-xl-xsm xen-boot Searching for failure / basis pass: 155642 fail [host=laxton0] / 155584 ok. Failure / basis pass flights: 155642 / 155584 Tree: linux git://xenbits.xen.org/linux-pvops.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git Latest a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a62dee9ceff3056c7e0bd9632bac39bee2a51b3 Basis pass a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 25849c8b16f2a5b7fcd0a823e80a5f1b590291f9 Generating revisions with ./adhoc-revtuple-generator git://xenbits.xen.org/linux-pvops.git#a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9-a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen.git#ea6d3cd1ed79d824e605a70c3626bc437c386260-ea6d3cd1ed79d824e605a70c3626bc437c386260 git://xenbits.xen.org/xen.git#25849c8b16f2a5b7fcd0a823e80a5f1b590291f9-8a62dee\ 9ceff3056c7e0bd9632bac39bee2a51b3 Loaded 5001 nodes in revision graph Searching for test results: 155584 pass a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 25849c8b16f2a5b7fcd0a823e80a5f1b590291f9 155612 fail a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a62dee9ceff3056c7e0bd9632bac39bee2a51b3 155614 pass a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 25849c8b16f2a5b7fcd0a823e80a5f1b590291f9 155616 fail a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a62dee9ceff3056c7e0bd9632bac39bee2a51b3 155615 [host=rochester1] 155618 pass a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 04be2c3a067899a3860fc2c7bc7a1599502ed1c5 155620 [host=rochester1] 155623 [host=rochester1] 155624 [host=rochester1] 155626 [host=rochester1] 155628 [host=rochester1] 155622 fail a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a62dee9ceff3056c7e0bd9632bac39bee2a51b3 155629 [host=rochester1] 155633 pass a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 4dced5df761e36fa2561f6f0f6563b3580d95e7f 155635 fail a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a71d50ed40bfa78c37722dc11995ac2563662c3 155638 pass a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 4dced5df761e36fa2561f6f0f6563b3580d95e7f 155632 [host=rochester1] 155640 fail a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a71d50ed40bfa78c37722dc11995ac2563662c3 155641 [host=rochester1] 155646 [host=rochester1] 155642 fail a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a62dee9ceff3056c7e0bd9632bac39bee2a51b3 155648 [host=rochester1] 155651 pass a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 4dced5df761e36fa2561f6f0f6563b3580d95e7f 155652 fail a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 8a71d50ed40bfa78c37722dc11995ac2563662c3 Searching for interesting versions Result found: flight 155584 (pass), for basis pass For basis failure, parent search stopping at a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 4dced5df761e36fa2561f6f0f6563b3580d95e7f, results HASH(0x5640e46200e8) HASH(0x5640e4617da0) HASH(0x5640e4627028) For basis failure, parent search stopping at a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 04be2c3a067899a3860fc2c7bc7a1599502ed1c5, results \ HASH(0x5640e460f2d8) For basis failure, parent search stopping at a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 25849c8b16f2a5b7fcd0a823e80a5f1b590291f9, results HASH(0x5640e460cbe0) HASH(0x5640e46152f0) Result found: flight 155612 (fail), for basis failure (at ancestor ~422) Repro found: flight 155614 (pass), for basis pass Repro found: flight 155616 (fail), for basis failure 0 revisions at a6c5dd1dbaffe4cc398d8454546ba9246b9a95c9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea6d3cd1ed79d824e605a70c3626bc437c386260 4dced5df761e36fa2561f6f0f6563b3580d95e7f No revisions left to test, checking graph state. Result found: flight 155633 (pass), for last pass Result found: flight 155635 (fail), for first failure Repro found: flight 155638 (pass), for last pass Repro found: flight 155640 (fail), for first failure Repro found: flight 155651 (pass), for last pass Repro found: flight 155652 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: xen git://xenbits.xen.org/xen.git Bug introduced: 8a71d50ed40bfa78c37722dc11995ac2563662c3 Bug not present: 4dced5df761e36fa2561f6f0f6563b3580d95e7f Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/155652/ commit 8a71d50ed40bfa78c37722dc11995ac2563662c3 Author: Trammell Hudson <hudson@xxxxxxxx> Date: Fri Oct 2 07:18:21 2020 -0400 efi: Enable booting unified hypervisor/kernel/initrd images This patch adds support for bundling the xen.efi hypervisor, the xen.cfg configuration file, the Linux kernel and initrd, as well as the XSM, and architectural specific files into a single "unified" EFI executable. This allows an administrator to update the components independently without requiring rebuilding xen, as well as to replace the components in an existing image. The resulting EFI executable can be invoked directly from the UEFI Boot Manager, removing the need to use a separate loader like grub as well as removing dependencies on local filesystem access. And since it is a single file, it can be signed and validated by UEFI Secure Boot without requring the shim protocol. It is inspired by systemd-boot's unified kernel technique and borrows the function to locate PE sections from systemd's LGPL'ed code. During EFI boot, Xen looks at its own loaded image to locate the PE sections for the Xen configuration (`.config`), dom0 kernel (`.kernel`), dom0 initrd (`.ramdisk`), and XSM config (`.xsm`), which are included after building xen.efi using objcopy to add named sections for each input file. For x86, the CPU ucode can be included in a section named `.ucode`, which is loaded in the efi_arch_cfg_file_late() stage of the boot process. On ARM systems the Device Tree can be included in a section named `.dtb`, which is loaded during the efi_arch_cfg_file_early() stage of the boot process. Note that the system will fall back to loading files from disk if the named sections do not exist. This allows distributions to continue with the status quo if they want a signed kernel + config, while still allowing a user provided initrd (which is how the shim protocol currently works as well). This patch also adds constness to the section parameter of efi_arch_cfg_file_early() and efi_arch_cfg_file_late(), changes pe_find_section() to use a const CHAR16 section name, and adds pe_name_compare() to match section names. Signed-off-by: Trammell Hudson <hudson@xxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> [Fix ARM build by including pe.init.o] Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Revision graph left in /home/logs/results/bisect/xen-unstable-smoke/test-arm64-arm64-xl-xsm.xen-boot.{dot,ps,png,html,svg}. ---------------------------------------- 155652: tolerable ALL FAIL flight 155652 xen-unstable-smoke real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/155652/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-arm64-arm64-xl-xsm 8 xen-boot fail baseline untested jobs: test-arm64-arm64-xl-xsm fail ------------------------------------------------------------ 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |