-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PATCH 0/3] hw/intc/loongarch_extioi: Add irq routing from physical
https://lore.kernel.org/qemu-devel/[email protected] --- From: Bibo Mao <[email protected]> To: Song Gao <[email protected]> Cc: Jiaxun Yang <[email protected]>, [email protected] Subject: [PATCH 0/3] hw/intc/loongarch_extioi: Add irq routing from physical cpu id Date: Thu, 2 Jan 2025 15:53:54 +0800 Message-Id: <[email protected]> X-Mailer: git-send-email 2.39.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: qMiowMDx_8cVRnZn0i8RAA--.16082S2 X-CM-SenderInfo: xpdruxter6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx nUUI43ZEXa7xR_UUUUUUUUU== Received-SPF: pass client-ip=114.242.206.163; [email protected]; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: [email protected] X-Mailman-Version: 2.1.29 Precedence: list List-Id: <qemu-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:[email protected]?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:[email protected]> List-Help: <mailto:[email protected]?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:[email protected]?subject=subscribe> Errors-To: [email protected] Sender: [email protected] The similiar with IPI, physical cpu id is used for irq routing. Also get cpu number from possible_cpu_arch_ids() and remove num-cpu property for TYPE_LOONGARCH_EXTIOI_COMMON object. Bibo Mao (3): hw/intc/loongarch_extioi: Get cpu number from possible_cpu_arch_ids hw/intc/loongarch_extioi: Remove num-cpu property hw/intc/loongarch_extioi: Add irq routing support from physical id hw/intc/loongarch_extioi.c | 45 +++++++++++++++++------ hw/intc/loongarch_extioi_common.c | 14 ------- hw/loongarch/virt.c | 1 - include/hw/intc/loongarch_extioi_common.h | 2 + 4 files changed, 35 insertions(+), 27 deletions(-) base-commit: 2b7a80e -- 2.39.3 Signed-off-by: GitHub Actions Bot <[email protected]>
- Loading branch information
GitHub Actions Bot
committed
Jan 2, 2025
1 parent
bec4e6d
commit 38db9c8
Showing
30 changed files
with
741 additions
and
801 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,343 @@ | ||
on: push | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
checkapply: | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
# to debug container live from GitHub | ||
# - uses: mxschmitt/action-tmate@v3 | ||
- run: bash -c '[ ! -f shazam.log ] || { cat shazam.log; exit 1; }' | ||
|
||
checkpatch-ignore-signoff: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: git fetch -a origin --unshallow || true | ||
- run: git remote add upstream -f https://gitlab.com/qemu-project/qemu | ||
- run: ./scripts/checkpatch.pl --no-signoff $(git merge-base upstream/master HEAD)..HEAD | ||
|
||
checkpatch-with-signoff: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: git fetch -a origin --unshallow || true | ||
- run: git remote add upstream -f https://gitlab.com/qemu-project/qemu | ||
- run: ./scripts/checkpatch.pl $(git merge-base upstream/master HEAD)..HEAD | ||
|
||
# use docker-run to not rebuild images | ||
# images are built daily and pushed on pbolinaro/qemu-ci:* | ||
build-cross: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
container: [alpine,centos9,debian,debian-all-test-cross,debian-amd64-cross,debian-arm64-cross,debian-armhf-cross,debian-hexagon-cross,debian-i686-cross,debian-legacy-test-cross,debian-loongarch-cross,debian-mips64el-cross,debian-mipsel-cross,debian-ppc64el-cross,debian-riscv64-cross,debian-s390x-cross,debian-tricore-cross,fedora,fedora-rust-nightly,opensuse-leap,ubuntu2204] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: pip install meson | ||
- run: make docker-run J=$(nproc) RUNC=podman TEST=test-build IMAGE=docker.io/pbolinaro/qemu-ci:${{matrix.container}} | ||
|
||
build: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure && ninja -C build install' | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
./build/qemu-system-x86_64 -nographic -plugin ./build/contrib/plugins/libstoptrigger,icount=1000000 -plugin ./build/tests/tcg/plugins/libinsn -d plugin | ||
build-cross-mingw64: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:fedora-win64-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
build-windows: | ||
needs: checkapply | ||
runs-on: windows-2025 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
sys: [UCRT64, CLANG64, MINGW64] | ||
defaults: | ||
run: | ||
shell: msys2 {0} | ||
steps: | ||
- uses: msys2/setup-msys2@v2 | ||
with: | ||
update: true | ||
msystem: ${{matrix.sys}} | ||
- run: pacman -S --noconfirm curl git | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
pacman -S --noconfirm | ||
base-devel binutils bison diffutils flex git grep make sed | ||
${MINGW_PACKAGE_PREFIX}-toolchain | ||
${MINGW_PACKAGE_PREFIX}-glib2 | ||
${MINGW_PACKAGE_PREFIX}-gtk3 | ||
${MINGW_PACKAGE_PREFIX}-libnfs | ||
${MINGW_PACKAGE_PREFIX}-libssh | ||
${MINGW_PACKAGE_PREFIX}-ninja | ||
${MINGW_PACKAGE_PREFIX}-pixman | ||
${MINGW_PACKAGE_PREFIX}-pkgconf | ||
${MINGW_PACKAGE_PREFIX}-python | ||
${MINGW_PACKAGE_PREFIX}-SDL2 | ||
${MINGW_PACKAGE_PREFIX}-zstd | ||
- run: ./configure && ninja -C build | ||
- run: ./build/qemu-system-x86_64 -nographic -plugin ./build/contrib/plugins/libstoptrigger,icount=1000000 -plugin ./build/tests/tcg/plugins/libinsn -d plugin | ||
|
||
build-macos-x86_64: | ||
needs: checkapply | ||
runs-on: macos-13 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: brew install --quiet $(brew deps --include-build qemu) || true | ||
# on macos, werror is not on by default | ||
- run: ./configure --enable-werror && ninja -C build | ||
- run: ./build/qemu-system-x86_64 -nographic -plugin ./build/contrib/plugins/libstoptrigger,icount=1000000 -plugin ./build/tests/tcg/plugins/libinsn -d plugin | ||
|
||
build-macos-aarch64: | ||
needs: checkapply | ||
runs-on: macos-14 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: brew install --quiet $(brew deps --include-build qemu) || true | ||
# on macos, werror is not on by default | ||
- run: ./configure --enable-werror && ninja -C build | ||
- run: ./build/qemu-system-x86_64 -nographic -plugin ./build/contrib/plugins/libstoptrigger,icount=1000000 -plugin ./build/tests/tcg/plugins/libinsn -d plugin | ||
|
||
build-misc: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --disable-user --disable-system --enable-docs --enable-tools && ninja -C build install' | ||
build-32bits: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-i686-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
build-big-endian: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-s390x-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS && ninja -C build install' | ||
build-debug: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --enable-debug --enable-asan --enable-ubsan && ninja -C build install' | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
./build/qemu-system-x86_64 -nographic -plugin ./build/contrib/plugins/libstoptrigger,icount=1000000 -plugin ./build/tests/tcg/plugins/libinsn -d plugin | ||
build-static: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --disable-system --disable-tools --disable-guest-agent --disable-docs --static && ninja -C build install' | ||
build-tsan: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --enable-tsan && ninja -C build install' | ||
build-clang: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --cxx=clang++ --cc=clang --host-cc=clang && ninja -C build install' | ||
build-clang-latest: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx 'LLVM_VERSION=19 && apt update && apt install -y lsb-release wget software-properties-common gnupg && wget https://apt.llvm.org/llvm.sh && bash llvm.sh ${LLVM_VERSION} && ./configure --cxx=clang++-${LLVM_VERSION} --cc=clang-${LLVM_VERSION} --host-cc=clang-${LLVM_VERSION} && ninja -C build install' | ||
build-rust: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:fedora-rust-nightly | ||
bash -cx 'cargo install [email protected] && ./configure $QEMU_CONFIGURE_OPTS --enable-rust && ninja -C build install' | ||
build-disable-tcg: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --disable-tcg && ninja -C build install' | ||
build-disable-kvm: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --disable-kvm && ninja -C build install' | ||
build-disable-tcg-kvm-for-xen: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --disable-tcg --disable-kvm && ninja -C build install' | ||
build-minimal: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian | ||
bash -cx './configure --without-default-features --without-default-devices --disable-kvm --disable-tcg && ninja -C build install' | ||
check-tcg: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-all-test-cross | ||
bash -cx './configure $QEMU_CONFIGURE_OPTS --disable-docs --enable-debug-tcg --enable-debug-graph-lock --enable-debug-mutex --enable-asan --enable-ubsan && ninja -C build' | ||
- run: > | ||
podman run --init --privileged --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-all-test-cross | ||
bash -cx "env ASAN_OPTIONS=detect_leaks=0 make -k -j $(nproc) check-tcg" | ||
# run all meson tests, except functional. | ||
# block tests are not ran because they don't support sanitizers: | ||
# https://gitlab.com/qemu-project/qemu/-/blob/master/tests/qemu-iotests/meson.build | ||
check: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
# we use image with download cache filled. Solves servers flakiness. | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx './configure --disable-docs --enable-debug-tcg --enable-debug-graph-lock --enable-debug-mutex --enable-asan --enable-ubsan && ninja -C build' | ||
- run: sudo chown $USER:$USER /dev/kvm | ||
- run: > | ||
podman run --init --privileged --rm -i -v /dev/kvm:/dev/kvm -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx "env ASAN_OPTIONS=detect_leaks=0 ./build/pyvenv/bin/meson test -C build --setup thorough --no-suite func-quick --no-suite func-thorough -t 5 --print-errorlogs" | ||
check-functional: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
# we use image with download cache filled. Solves servers flakiness. | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx './configure --disable-docs --enable-debug-tcg --enable-debug-graph-lock --enable-debug-mutex --enable-asan --enable-ubsan && ninja -C build' | ||
- run: sudo chown $USER:$USER /dev/kvm | ||
- run: > | ||
podman run --init --privileged --rm -i -v /dev/kvm:/dev/kvm -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx "env ASAN_OPTIONS=detect_leaks=0 ./build/pyvenv/bin/meson test -C build --setup thorough --suite func-quick --suite func-thorough -j $(($(nproc) / 2)) -t 5 --print-errorlogs" | ||
# Limit parallelism because it creates timeout. | ||
# iotests do not support sanitizers, so we run them in their own job | ||
check-block: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
# we use image with download cache filled. Solves servers flakiness. | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx './configure --disable-docs --enable-debug-tcg --enable-debug-graph-lock --enable-debug-mutex && ninja -C build' | ||
- run: sudo chown $USER:$USER /dev/kvm | ||
- run: > | ||
podman run --init --privileged --rm -i -v /dev/kvm:/dev/kvm -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx "./build/pyvenv/bin/meson test -C build --setup thorough --suite block --suite block-slow --suite block-thorough -t 5 --print-errorlogs" | ||
check-avocado: | ||
needs: checkapply | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
# add more time for all tests | ||
- run: sed -i -e 's/timeout = .*/timeout = 3600/' $(find tests/avocado/ -type f) | ||
# we use image with download cache filled. Solves servers flakiness. | ||
- run: > | ||
podman run --init --rm -it -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx './configure --disable-docs --enable-debug-tcg --enable-debug-graph-lock --enable-debug-mutex --enable-asan --enable-ubsan && ninja -C build' | ||
- run: sudo chown $USER:$USER /dev/kvm | ||
- run: > | ||
podman run --init --privileged --rm -it -v /dev/kvm:/dev/kvm -v $(pwd):$(pwd) -w $(pwd) | ||
docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
bash -cx "env ASAN_OPTIONS=detect_leaks=0 make -k check-avocado V=1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
on: | ||
schedule: | ||
- cron: '0 6 * * *' | ||
workflow_dispatch: | ||
|
||
permissions: write-all | ||
|
||
jobs: | ||
build_container: | ||
runs-on: ubuntu-24.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# cd tests/docker/dockerfiles/ | ||
# ls *docker | sed -e 's/.docker//' | tr '\n' ',' | ||
# remove: debian-bootstrap,debian-toolchain | ||
container: [alpine,centos9,debian-all-test-cross,debian-amd64-cross,debian-arm64-cross,debian-armhf-cross,debian,debian-hexagon-cross,debian-i686-cross,debian-legacy-test-cross,debian-loongarch-cross,debian-mips64el-cross,debian-mipsel-cross,debian-ppc64el-cross,debian-riscv64-cross,debian-s390x-cross,debian-tricore-cross,debian-xtensa-cross,fedora,fedora-rust-nightly,fedora-win64-cross,opensuse-leap,python,ubuntu2204] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- run: make docker-image-${{matrix.container}} RUNC=podman V=1 | ||
- run: podman tag qemu/${{matrix.container}} docker.io/pbolinaro/qemu-ci:${{matrix.container}} | ||
- run: podman login -u pbolinaro -p ${{secrets.DOCKERHUB_PASSWORD}} | ||
- run: podman push docker.io/pbolinaro/qemu-ci:${{matrix.container}} | ||
|
||
build_container_debian-precache-tests: | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
# we clean up runner first, to get more disk space | ||
- run: docker system prune -af && sudo rm -rf /opt/* | ||
- uses: actions/checkout@v4 | ||
- run: make docker-image-debian RUNC=podman V=1 | ||
# fill download cache for functional and check-avocado | ||
# running check-avocado without any qemu binary will only download data | ||
# in /root/avocado | ||
- run: > | ||
podman run -it -v $(pwd):$(pwd) -w $(pwd) qemu/debian | ||
./precache_tests.sh | ||
# commit result as a new image. Cache will be in /root/.cache and /root/avocado | ||
- run: podman commit "$(podman ps -aq)" docker.io/pbolinaro/qemu-ci:debian-precache-tests | ||
- run: podman login -u pbolinaro -p ${{secrets.DOCKERHUB_PASSWORD}} | ||
- run: podman push docker.io/pbolinaro/qemu-ci:debian-precache-tests |
Oops, something went wrong.