Page MenuHomeFreeBSD

Cirrus-CI: add a manual arm64 task
ClosedPublic

Authored by emaste on Mon, Sep 13, 8:23 PM.

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

emaste created this revision.
.cirrus.yml
56

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
56

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.Tue, Sep 14, 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