From fb3b33587cf31184811d8eb36a5754b6c6268ba0 Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Thu, 16 Jul 2026 12:19:15 +0800 Subject: [PATCH 1/3] ci: skip docs in native ARM build The native x86 build already covers Sphinx documentation generation. Running the same parallel Sphinx build on the ARM runner adds no coverage and can fail nondeterministically when a worker exits with EOFError. Disable docs only for the ARM matrix entry while retaining native documentation coverage on x86. Signed-off-by: Chao Liu --- .github/workflows/build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 94e950acae30..cdb54a23771b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -87,8 +87,10 @@ jobs: include: - arch: x86_64 image: ubuntu-24.04 + configure_options: "" - arch: aarch64 image: ubuntu-24.04-arm + configure_options: --disable-docs needs: checkapply runs-on: ${{matrix.image}} steps: @@ -97,7 +99,9 @@ jobs: - run: > podman run --pull newer --init --rm -it -v $(pwd):$(pwd) -w $(pwd) docker.io/pboqemu/qemu-ci:debian - bash -cx './configure ${{ env.QEMU_WERROR }} && ninja -C build install' + bash -cx './configure ${{ env.QEMU_WERROR }} + ${{ matrix.configure_options }} && + ninja -C build install' - run: > podman run --pull newer --init --rm -it -v $(pwd):$(pwd) -w $(pwd) docker.io/pboqemu/qemu-ci:debian From 5605a43875379dc8eff5ccfeb28bc732d341051b Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Thu, 16 Jul 2026 12:20:50 +0800 Subject: [PATCH 2/3] ci: limit ARM meson test concurrency The s390x TLS migration test normally completes in about 16 seconds on the ARM runner, but it can exceed its 120-second internal status timeout when it competes with other heavyweight qtests. Run at most two Meson tests concurrently on ARM to reduce host contention. Leave the x86 job at Meson's default concurrency. Signed-off-by: Chao Liu --- .github/workflows/build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cdb54a23771b..3b37af376bcb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -427,8 +427,10 @@ jobs: include: - arch: x86_64 image: ubuntu-24.04 + test_options: "" - arch: aarch64 image: ubuntu-24.04-arm + test_options: "-j 2" needs: checkapply runs-on: ${{matrix.image}} steps: @@ -444,7 +446,11 @@ jobs: - run: > podman run --pull newer --init --privileged --rm -i $([ -e /dev/kvm ] && echo '-v /dev/kvm:/dev/kvm') -v $(pwd):$(pwd) -w $(pwd) docker.io/pboqemu/qemu-ci:debian - bash -cx "./build/pyvenv/bin/meson test -C build --setup thorough --no-suite func-quick --no-suite func-thorough --no-suite block-slow --no-suite block-thorough -t 5 --print-errorlogs" + bash -cx "./build/pyvenv/bin/meson test -C build + --setup thorough + --no-suite func-quick --no-suite func-thorough + --no-suite block-slow --no-suite block-thorough + ${{ matrix.test_options }} -t 5 --print-errorlogs" check-functional: strategy: From bfdab0aced2b676f202e76586796baf1f6ec0e87 Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Thu, 16 Jul 2026 22:30:49 +0800 Subject: [PATCH 3/3] docs: remove AX650X README quick start Signed-off-by: Chao Liu --- README.md | 74 ------------------------------------------------------- 1 file changed, 74 deletions(-) diff --git a/README.md b/README.md index 75b384e57113..46aaef35ff54 100644 --- a/README.md +++ b/README.md @@ -35,77 +35,3 @@ It provides agent skills for planning, register extraction, peripheral modeling, board modeling, qtest, build, debugging, and verification. - Skill repository: - -## AX650X Pyramid quick start - -The `ax650x-pyramid` machine directly boots Linux on the M5Stack AI Pyramid / -AXERA AX650X platform. Detailed machine documentation is available in -[docs/system/arm/ax650x-pyramid.rst](docs/system/arm/ax650x-pyramid.rst). - -### Boot Ubuntu 22.04 from eMMC - -The Ubuntu image has no MBR or GPT. Linux creates its twelve partitions from -the fixed `blkdevparts` command line. The command below uses `snapshot=on`, so -guest writes are discarded when QEMU exits. - -```sh -QEMU=${QEMU:-build/qemu-system-aarch64} -ASSET_DIR=${ASSET_DIR:-assets/ax650x} -KERNEL=${KERNEL:-$ASSET_DIR/Image-5.15.73-axera} -EMMC=${EMMC:-$ASSET_DIR/ax650x-ubuntu-22.04-emmc.raw} - -PARTS='mmcblk0:1536K(uboot),1536K(uboot_bk),1M(env),20M(param)' -PARTS="$PARTS,6M(logo),1M(dtb),64M(kernel),1M(atf),1M(optee)" -PARTS="$PARTS,1M(recovery_dtb),74M(recovery),30380032K(rootfs)" -CMDLINE='console=ttyS0,115200n8 earlycon=uart8250,mmio32,0x2016000' -CMDLINE="$CMDLINE root=/dev/mmcblk0p12 rootfstype=ext4 rw rootwait" -CMDLINE="$CMDLINE blkdevparts=$PARTS" -CMDLINE="$CMDLINE systemd.show_status=yes systemd.log_target=console" - -for input in "$QEMU" "$KERNEL" "$EMMC"; do - if [ ! -r "$input" ]; then - echo "missing input: $input" >&2 - exit 1 - fi -done - -exec "$QEMU" \ - -machine ax650x-pyramid \ - -accel tcg,thread=multi \ - -cpu cortex-a55 \ - -smp 8 \ - -m 2G \ - -kernel "$KERNEL" \ - -append "$CMDLINE" \ - -drive "file=$EMMC,if=sd,format=raw,snapshot=on" \ - -chardev stdio,id=serial0,signal=off \ - -serial chardev:serial0 \ - -display none \ - -monitor none \ - -no-reboot -``` - -Override `QEMU`, `KERNEL`, or `EMMC` in the environment when the artifacts -live elsewhere. Remove `snapshot=on` only when persistent image writes are -intentional. - -### Run the Ubuntu quick-boot functional test - -The functional test uses the same direct-boot contract but lets the test -harness own the serial chardev. It is in the `thorough` suite because the -kernel and compressed eMMC image are downloaded assets. - -```sh -meson test -C build \ - --suite thorough \ - func-aarch64-ax650x_ubuntu \ - --print-errorlogs -``` - -The pinned kernel and qcow2 image are published at: - - - -The harness verifies both SHA-256 digests. The test uses disposable eMMC -writes and waits for DWMAC probe, partition 12, the mounted ext4 root -filesystem, Ubuntu readiness markers, and the serial login prompt.