Page MenuHomeFreeBSD

Cirrus-CI: add a manual arm64 task
ClosedPublic

Authored by emaste on Sep 13 2021, 8:23 PM.
Tags
None
Referenced Files
F102576550: D31953.id.diff
Thu, Nov 14, 6:51 AM
Unknown Object (File)
Tue, Nov 12, 9:51 PM
Unknown Object (File)
Wed, Nov 6, 6:49 AM
Unknown Object (File)
Wed, Nov 6, 6:49 AM
Unknown Object (File)
Wed, Nov 6, 6:49 AM
Unknown Object (File)
Wed, Nov 6, 6:49 AM
Unknown Object (File)
Tue, Nov 5, 11:22 PM
Unknown Object (File)
Mon, Nov 4, 5:23 PM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

emaste created this revision.
.cirrus.yml
57

Do we or are we going to have git submodule?

Why not use a matrix for this? It looks like you could do something like the following (based on https://github.com/cirruslabs/cirrus-ci-docs/issues/709):

task:
  matrix:
    - name: World and kernel arm64 build and boot smoke test
      env:
        TARGET: amd64
        TARGET_ARCH: amd64
    - name: World and kernel arm64 build and boot smoke test
      trigger_type: manual
      env:
        TARGET: arm64
        TARGET_ARCH: arm64
  timeout_in: 120m
  ...
.cirrus.yml
57

Ah, this was from my WIP branch which brings in drm-kmod as a submodule, but indeed not needed here.

Any reason we don't add armv7 and/or riscv too? They both have qemu support.

This revision is now accepted and ready to land.Sep 14 2021, 6:41 PM

Any reason we don't add armv7 and/or riscv too? They both have qemu support.

I haven't tested them, but I'll add them if they "just work" (well, at least as well as arm64 which currently panics on boot with)

panic: Assertion value >= sc->sc_spi_start failed at /tmp/cirrus-ci-build/sys/arm/arm/gic.c:541
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x184
panic() at panic+0x44
arm_gic_write_ivar() at arm_gic_write_ivar+0x25c
arm_gicv2m_attach() at arm_gicv2m_attach+0x11c
device_attach() at device_attach+0x400
device_probe_and_attach() at device_probe_and_attach+0x7c
bus_generic_attach() at bus_generic_attach+0x18
device_attach() at device_attach+0x400
device_probe_and_attach() at device_probe_and_attach+0x7c
bus_generic_new_pass() at bus_generic_new_pass+0xf8
bus_generic_new_pass() at bus_generic_new_pass+0xa8
bus_generic_new_pass() at bus_generic_new_pass+0xa8
bus_set_pass() at bus_set_pass+0x4c
mi_startup() at mi_startup+0x12c
virtdone() at virtdone+0x6c
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x44: undefined       f904c11f
db> qemu-system-aarch64: terminating on signal 15 from pid 39830 (timeout)
Did not boot successfully, see /tmp/ci-qemu-test-boot.log

The panic should be fixed now.

@andrew thanks
@imp we need to add armv7 and riscv64 in tools/boot/ci-qemu-test.sh