From 6d04d7fb126a024d5bf6019a74c28b069d9fc8dc Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Wed, 15 Jul 2026 23:18:24 +0800 Subject: [PATCH 1/4] ci: expose Homebrew parser tools on macOS Signed-off-by: Chao Liu --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9a92d9d9cac81..c7d683e376b68 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -188,6 +188,9 @@ jobs: - uses: actions/checkout@v6 - run: brew uninstall cmake # conflict with install command below - run: brew install --quiet $(env HOMEBREW_NO_ENV_HINTS=1 brew deps --include-build qemu) bison flex + - run: | + echo "$(brew --prefix bison)/bin" >> "$GITHUB_PATH" + echo "$(brew --prefix flex)/bin" >> "$GITHUB_PATH" - run: ./configure ${{ env.QEMU_WERROR }} && ninja -C build - run: ./build/qemu-system-x86_64-unsigned -nographic -plugin ./build/contrib/plugins/libstoptrigger,icount=1000000 -plugin ./build/tests/tcg/plugins/libinsn -plugin ./build/contrib/plugins/libcpp -d plugin From 35e4d718050158d7079f8a6fbe19a657ed4ec102 Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Wed, 15 Jul 2026 23:42:47 +0800 Subject: [PATCH 2/4] tests/qtest: make AX650X eMMC file I/O portable Signed-off-by: Chao Liu --- tests/qtest/ax650x-pyramid-test.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tests/qtest/ax650x-pyramid-test.c b/tests/qtest/ax650x-pyramid-test.c index 3043d03c8d28e..b583e78195460 100644 --- a/tests/qtest/ax650x-pyramid-test.c +++ b/tests/qtest/ax650x-pyramid-test.c @@ -504,9 +504,10 @@ static void test_emmc_block_io_and_irq(void) source[i] = i % 127 + 1; written[i] = (i * 3) % 127 + 1; } - fd = open(emmc_path, O_WRONLY); + fd = open(emmc_path, O_WRONLY | O_BINARY); g_assert_cmpint(fd, >=, 0); - ret = pwrite(fd, source, sizeof(source), 0); + g_assert_cmpint(lseek(fd, 0, SEEK_SET), ==, 0); + ret = qemu_write_full(fd, source, sizeof(source)); g_assert_cmpint(ret, ==, sizeof(source)); close(fd); @@ -529,9 +530,10 @@ static void test_emmc_block_io_and_irq(void) sizeof(written), AX650X_EMMC_BLOCK_SIZE); qtest_quit(qts); - fd = open(emmc_path, O_RDONLY); + fd = open(emmc_path, O_RDONLY | O_BINARY); g_assert_cmpint(fd, >=, 0); - ret = pread(fd, readback, sizeof(readback), 0); + g_assert_cmpint(lseek(fd, 0, SEEK_SET), ==, 0); + ret = read(fd, readback, sizeof(readback)); g_assert_cmpint(ret, ==, sizeof(readback)); close(fd); g_assert_cmpmem(readback, sizeof(readback), written, sizeof(written)); @@ -570,9 +572,11 @@ static void test_emmc_auto_cmd23(void) SDHC_R1_STATE_TRAN); qtest_quit(qts); - fd = open(emmc_path, O_RDONLY); + fd = open(emmc_path, O_RDONLY | O_BINARY); g_assert_cmpint(fd, >=, 0); - ret = pread(fd, readback, sizeof(readback), AX650X_EMMC_BLOCK_SIZE); + g_assert_cmpint(lseek(fd, AX650X_EMMC_BLOCK_SIZE, SEEK_SET), ==, + AX650X_EMMC_BLOCK_SIZE); + ret = read(fd, readback, sizeof(readback)); g_assert_cmpint(ret, ==, sizeof(readback)); close(fd); g_assert_cmpmem(readback, sizeof(readback), expected, sizeof(expected)); From 2447534454984673fd6e771e9ba5ddffaf77b156 Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Thu, 16 Jul 2026 00:14:58 +0800 Subject: [PATCH 3/4] tests/qtest/9p: reduce xattr limit test payload Signed-off-by: Chao Liu --- tests/qtest/virtio-9p-test.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/qtest/virtio-9p-test.c b/tests/qtest/virtio-9p-test.c index cfd3c02da4510..ab879f4ba7eab 100644 --- a/tests/qtest/virtio-9p-test.c +++ b/tests/qtest/virtio-9p-test.c @@ -38,11 +38,11 @@ /* * xattr size to be used for xattr tests * - * 64k is the max. xattr size supported by the Linux kernel, However btrfs - * for instance supports only 16219 bytes. So let's be conservative and - * just use 8k for the xattr tests. + * The filesystem backing the local 9p export may impose a much smaller limit + * than the Linux VFS, especially when tests run on overlay filesystems. The + * xattr FID limit tests only require a non-empty value, so keep it small. */ -#define TEST_XATTR_SIZE (8 * 1024) +#define TEST_XATTR_SIZE 1024 static void pci_config(void *obj, void *data, QGuestAllocator *t_alloc) { From 68cef629478f17d9546be9d18945bf3355c72072 Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Thu, 16 Jul 2026 01:11:37 +0800 Subject: [PATCH 4/4] ci: skip docs in Clang 22 build Signed-off-by: Chao Liu --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c7d683e376b68..94e950acae301 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -330,10 +330,11 @@ jobs: - run: sudo rm -rf /opt/ /usr/local/.ghcup /usr/local/lib/android - uses: actions/checkout@v6 # bypass package signature check by faking sqv binary + # Documentation is covered elsewhere; keep this a compiler-only build. - run: > podman run --pull newer --init --rm -it -v $(pwd):$(pwd) -w $(pwd) docker.io/pboqemu/qemu-ci:debian - bash -cx 'cp /usr/bin/echo /usr/bin/sqv && LLVM_VERSION=22 && apt update && apt install -y lsb-release wget gnupg && wget https://apt.llvm.org/llvm.sh && bash llvm.sh ${LLVM_VERSION} && ./configure ${{ env.QEMU_WERROR }} --cxx=clang++-${LLVM_VERSION} --cc=clang-${LLVM_VERSION} --host-cc=clang-${LLVM_VERSION} --enable-debug && ninja -C build install' + bash -cx 'cp /usr/bin/echo /usr/bin/sqv && LLVM_VERSION=22 && apt update && apt install -y lsb-release wget gnupg && wget https://apt.llvm.org/llvm.sh && bash llvm.sh ${LLVM_VERSION} && ./configure ${{ env.QEMU_WERROR }} --disable-docs --cxx=clang++-${LLVM_VERSION} --cc=clang-${LLVM_VERSION} --host-cc=clang-${LLVM_VERSION} --enable-debug && ninja -C build install' build-kvm-only: needs: checkapply