Skip to content

ci: drop cv500 qemu-boot allow-failure; document cv300 still gated#160

Merged
widgetii merged 1 commit into
mainfrom
fix/qemu-boot-drop-allow-failure
May 17, 2026
Merged

ci: drop cv500 qemu-boot allow-failure; document cv300 still gated#160
widgetii merged 1 commit into
mainfrom
fix/qemu-boot-drop-allow-failure

Conversation

@widgetii
Copy link
Copy Markdown
Member

Summary

Two changes to the `qemu-boot` matrix following OpenIPC/firmware#2105 (closes #2061-equivalent fix for cv300):

cv500: the original `cma_osal.ko`-missing bug (#2062) was fixed long ago — `load_hisilicon` uses `modprobe open_osal` in both branches. The qemu-boot row already passes the (permissive) assertion gate. Drop the `allow-failure: true` marker so future cv500 regressions turn the row red instead of being silently masked.

cv300: OpenIPC/firmware#2105 just fixed the `cma_osal.ko` script reference, but the QEMU run reveals a different layered problem and the row still hangs:

  • qemu-hisilicon's `hi3516cv300` machine model appends `mmz_allocator=hisi mmz=…,96M` to bootargs unconditionally.
  • The `cv300_lite` kernel ships with `# CONFIG_CMA is not set`.
  • `load_hisilicon` sees `mmz=` in `/proc/cmdline` → takes the cma allocator branch → `hi_osal.ko` CMA init fails silently against a non-CMA kernel → script hangs at "Error: environment not initialized" before `S99lsmodprobe` can run.

Real cv300 cameras don't pass `mmz=` in bootargs and always take the hisi branch. Verified on `openipc-hi3516cv300.dlab.torturelabs.com`:

```
$ cat /proc/cmdline
mem=32M console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=...
$ lsmod | wc -l
34
```

Keep cv300's `allow-failure: true` pending one of:

  • a qemu-hisilicon bootargs fix (drop `mmz=` for cv300 to match real boards), or
  • cv300 CMA kernel config flip + a CMA-capable cv300 build.

Updated the comment block above the cv300 row to point at the actual current blocker.

Test plan

  • cv500 qemu-boot still passes (gate is permissive, was passing under allow-failure already)
  • cv300 documented and kept allow-failure

cv500: the original cma_osal.ko-missing bug (#2062) was fixed long
ago — load_hisilicon uses `modprobe open_osal` in both branches now.
The qemu-boot row already passes the (permissive) assertion gate
even though only 1 HISI module loads under the current QEMU bootargs.
Drop the allow-failure marker so a real cv500 regression in future
turns the row red instead of being silently masked.

cv300: OpenIPC/firmware#2105 fixed the cma_osal.ko reference in
load_hisilicon, but qemu-hisilicon's hi3516cv300 machine model
appends `mmz_allocator=hisi mmz=…,96M` unconditionally, while the
cv300_lite kernel ships with `# CONFIG_CMA is not set`. The script
sees mmz= in /proc/cmdline → takes the cma allocator branch →
hi_osal.ko CMA init fails silently → script hangs at
"Error: environment not initialized" before the lsmod probe runs.

Real cv300 cameras don't pass mmz= in bootargs and always take the
hisi branch (verified on openipc-hi3516cv300.dlab.torturelabs.com:
`mem=32M console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 ...`
— no mmz=, lsmod shows 34 HiSi modules).

Keep cv300's allow-failure pending either:
  - a qemu-hisilicon bootargs fix (drop mmz= for cv300 to match
    real boards), or
  - cv300 CMA kernel config flip + a CMA-capable cv300 build.

Updated comments to reflect the actual blocker (was: "needs
firmware fix"; now: "firmware fixed, blocked on QEMU bootargs
mismatch").
@widgetii widgetii merged commit 4c2e6d7 into main May 17, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants