[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/3] automation: Add arm{64,32} earlyprintk jobs
On Tue, 23 Apr 2024, Michal Orzel wrote: > Introduce qemu based Arm earlyprintk test and build jobs to cover this > feature in debug variant. The tests simply check for the presence of the > last message printed by the bootstrap code before entering the C world. > > Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > automation/gitlab-ci/build.yaml | 17 +++++++++++++++++ > automation/gitlab-ci/test.yaml | 16 ++++++++++++++++ > automation/scripts/qemu-smoke-dom0less-arm32.sh | 7 +++++++ > automation/scripts/qemu-smoke-dom0less-arm64.sh | 5 +++++ > 4 files changed, 45 insertions(+) > > diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml > index f3c934471f32..49d6265ad5b4 100644 > --- a/automation/gitlab-ci/build.yaml > +++ b/automation/gitlab-ci/build.yaml > @@ -402,6 +402,15 @@ debian-bookworm-gcc-arm32-debug-staticmem: > CONFIG_UNSUPPORTED=y > CONFIG_STATIC_MEMORY=y > > +debian-bookworm-gcc-arm32-debug-earlyprintk: > + extends: .gcc-arm32-cross-build-debug > + variables: > + CONTAINER: debian:bookworm-arm64v8-arm32-gcc > + HYPERVISOR_ONLY: y > + EXTRA_XEN_CONFIG: | > + CONFIG_EARLY_UART_CHOICE_PL011=y > + CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000 > + > # Arm builds > > debian-bookworm-gcc-arm64: > @@ -473,6 +482,14 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools: > EXTRA_XEN_CONFIG: | > CONFIG_BOOT_TIME_CPUPOOLS=y > > +alpine-3.18-gcc-debug-arm64-earlyprintk: > + extends: .gcc-arm64-build-debug > + variables: > + CONTAINER: alpine:3.18-arm64v8 > + EXTRA_XEN_CONFIG: | > + CONFIG_EARLY_UART_CHOICE_PL011=y > + CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000 > + > # RISC-V 64 cross-build > .riscv-fixed-randconfig: > variables: &riscv-fixed-randconfig > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml > index 55a7831ad292..1e5d86763f6c 100644 > --- a/automation/gitlab-ci/test.yaml > +++ b/automation/gitlab-ci/test.yaml > @@ -287,6 +287,14 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools: > - *arm64-test-needs > - alpine-3.18-gcc-debug-arm64-boot-cpupools > > +qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk: > + extends: .qemu-arm64 > + script: > + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh earlyprintk 2>&1 | > tee ${LOGFILE} > + needs: > + - *arm64-test-needs > + - alpine-3.18-gcc-debug-arm64-earlyprintk > + > qemu-xtf-dom0less-arm64-gcc-hyp-xen-version: > extends: .qemu-arm64 > script: > @@ -359,6 +367,14 @@ qemu-smoke-dom0less-arm32-gcc-debug-without-dom0: > - *arm32-test-needs > - debian-bookworm-gcc-arm32-debug > > +qemu-smoke-dom0less-arm32-gcc-debug-earlyprintk: > + extends: .qemu-arm32 > + script: > + - ./automation/scripts/qemu-smoke-dom0less-arm32.sh earlyprintk 2>&1 | > tee ${LOGFILE} > + needs: > + - *arm32-test-needs > + - debian-bookworm-gcc-arm32-debug-earlyprintk > + > qemu-alpine-x86_64-gcc: > extends: .qemu-x86-64 > script: > diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh > b/automation/scripts/qemu-smoke-dom0less-arm32.sh > index e31b6b9014e1..1e2b939aadf7 100755 > --- a/automation/scripts/qemu-smoke-dom0less-arm32.sh > +++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh > @@ -53,6 +53,13 @@ echo \"${passed}\" > " > fi > > +if [[ "${test_variant}" == "earlyprintk" ]]; then > + # Clear dom0 prompt > + dom0_prompt="" > + # Last early printk message before entering C world > + passed="\- Ready \-" > +fi > + > # dom0/domU rootfs > # We are using the same rootfs for dom0 and domU. The only difference is > # that for the former, we set explictly rdinit to /bin/sh, whereas for the > diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh > b/automation/scripts/qemu-smoke-dom0less-arm64.sh > index e748b8ef1699..fc943a1a622c 100755 > --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh > +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh > @@ -61,6 +61,11 @@ fi > " > fi > > +if [[ "${test_variant}" == "earlyprintk" ]]; then > + # Last early printk message before entering C world > + passed="\- Ready \-" > +fi > + > # XXX QEMU looks for "efi-virtio.rom" even if it is unneeded > curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom > ./binaries/qemu-system-aarch64 \ > -- > 2.25.1 >
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |