From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760957003; cv=none; d=zohomail.com; s=zohoarc; b=IIQt5XoGeFAyyCicz+QYZQTMo/8/NlYvcIrfNgz1RLdGU+0JtLB2ltQaUS0YKjmgrJg1bNBU/6fqRJHNBXNPzGwbtGFTuxC9J8Yd9thuhvMII+So9qN2wgDCG/Jbd07MzZdVWJY2Of+aq9dnMSKGZT+Zu9VYEYxfx8R4DHYxkz8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760957003; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jE4c+DzA7hGd1ZZ06SZYxXAmtQ/3gkE36PLjdjn6oR0=; b=GCxTr/l2m0O7hz3eNMBC7KKXtuGwrtF6UHxT2yTvWNjYoTgv2uEmz4JsKykvACWYlZCwXDhQAuvfosi6bnvncitpp6cUd6Z7HqpeIBjCes79ks7ICfBaFGX1xJ+v0/ujFoqLG/gTSECRLSKYeLIuEeCS0PTFlbgY2qUuurTfkp8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760957003191665.7456906588947; Mon, 20 Oct 2025 03:43:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnKx-0007XM-DH; Mon, 20 Oct 2025 06:41:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnKu-0007W5-VH for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:56 -0400 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKr-0000fi-Q6 for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:56 -0400 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-b3dbf11fa9eso801786566b.0 for ; Mon, 20 Oct 2025 03:41:53 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b65e8391547sm761197266b.22.2025.10.20.03.41.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:50 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id A8BC95F85F; Mon, 20 Oct 2025 11:41:49 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956911; x=1761561711; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jE4c+DzA7hGd1ZZ06SZYxXAmtQ/3gkE36PLjdjn6oR0=; b=n1ncR1BrG0gmqAzdkNbPf0jcW59HyjpwSRnLomJkr2D7pVhOpDkmABD+sFR5S3wINs n3IV3pe9RMpPiaL3+5spx8S9AzTOsWw5I4n64wvHP8J0s5HTNgh161J/NPtrUyywSYyb 9zT9P7D2DKU57OofGTYpWorMogvr3BDEiO4IhsyU+kRQ33G/mfL2qX2r3QCmkh0jMexk 1ZQiXM+nF1d64/jsj7r7TXmewhKNIER9RIG+g3x7PWMe/loVbQcQpNE0xtrmYPjJtly2 nzMFaqwAajDV1+ZcLSuy6iRFx8IG+kRlmDzafas5om+vK3JRf098tn0IgJM4+DztPMPn NlsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956911; x=1761561711; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jE4c+DzA7hGd1ZZ06SZYxXAmtQ/3gkE36PLjdjn6oR0=; b=Iiy8rjxtNpqMbilOufRu85aeBr4EKHHOuMPwf9I4oWjWSoYCtlSJvgNfMUY2TzuwHu HbqiAzYKnLKMTOeOGkP2pCPCsgd7vQzP2SqdK5K0KaOXQWnXHQglm6irjH5rhr+QDqzj cyTtNgSYXRetaXv7yDYVMYlFgXSoLr2EqjlcIxzf4my7ABsziVGEyvNYhwmkEpS9+L3f kZAwgXtI1EQIRaadL4b3BAL098H+PjAY4/zX8BlST1Ni5Sa6Bm3DvA6u/NoMCL5w8uKL 500nPS4LfYrpXPalcMxXyfKfLvWFQ2zN+v3gmwtdtO6We8TRrJ2o7JS/4F6qF/fGCLCA 5ivg== X-Gm-Message-State: AOJu0YyBwpOFDLD89Gp3XJYPQAaCF20PZyTlIzOCIZ3+r1gJAH4HALHt 5+C8EC9T/+bBIbnryEcKXN3IGP824DLxP/qFAabjqdZ7wfaSwEX/D+/F3awVC8/wW8g= X-Gm-Gg: ASbGncuBiPRY2WnmM+e9HeYWxeO10MI0r3vajqTKRiCBTypHuTKGzCR06j2aSXj4D+4 rO/eA7S6j2/k1sCMwVHnSUQzad+t5RdVAaQ6HRIZ7UKAhuetE272VfEYqOZklWTRjqzXcL2UYIU 6CbCUg0lJpk9vmPgqZw1LlgdOhloGD4LeTKukvTZrHdBFBZ9GrqN+AEP4dZCo7y55JN4sSyJx9r cN7yoK/aKu4g2uRRPpsdkczo+6ww1A4vQm1BElpNA1zRSOdfMx0hHmT3rZWjAadati4R5/bfbjx JKUnJwS0B4+cnN3jq5oKN1tlB5Ar8tlsLtXoQUbjCLCmC1HhicB27Ft8ifwJFsdfK2U/1GHonKT 0aRNXjh5FAj2UveCSe4vqr0yUIUTFp0U2rIRK24aBvQ3jcTgsm0R7zZYymFYg22yrKfdgZ3Nbj9 NDjaclju67D+pE2HLrgndWyw== X-Google-Smtp-Source: AGHT+IGFAZlSSm1QjMgKAiApb+9UtWNbIXiLZiy92fc+gVIA5oeyJCRs5mtDPpsTvbhnpxGR6+O2HA== X-Received: by 2002:a17:906:c144:b0:b04:3e43:eccc with SMTP id a640c23a62f3a-b64739502dcmr1595601366b.40.1760956910983; Mon, 20 Oct 2025 03:41:50 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PULL 01/11] gitlab: use template for ubuntu-24.04-aarch64 jobs Date: Mon, 20 Oct 2025 11:41:39 +0100 Message-ID: <20251020104149.4034124-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62a; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760957005186154100 Most of the test is pure boilerplate so to save ourselves from repetition move all the main bits into a minimal copy of native_build_job_template but without the caching. We keep all the current allow_fail and configure setups but do take the opportunity to replace the -j`nproc --ignore=3D40` hack with something that almost, but not quite, saturates the machine its being built on. Reviewed-by: Richard Henderson Reviewed-by: Pierrick Bouvier Message-ID: <20251016150357.876415-2-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml b/.gitlab= -ci.d/custom-runners/ubuntu-24.04-aarch64.yml index d26c7827f45..46db9ae0138 100644 --- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml +++ b/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml @@ -2,150 +2,112 @@ # setup by the scripts/ci/setup/ubuntu/build-environment.yml task # "Install basic packages to build QEMU on Ubuntu 24.04" =20 +.ubuntu_aarch64_template: + extends: .custom_runner_template + needs: [] + stage: build + tags: + - ubuntu_24.04 + - aarch64 + rules: + - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANC= H =3D~ /^staging/' + - if: "$AARCH64_RUNNER_AVAILABLE" + before_script: + - source scripts/ci/gitlab-ci-section + - section_start setup "Pre-script setup" + - JOBS=3D$(expr $(nproc) - 4) + - section_end setup + script: + - mkdir build + - cd build + - section_start configure "Running configure" + - ../configure $CONFIGURE_ARGS || + { cat config.log meson-logs/meson-log.txt && exit 1; } + - section_end configure + - section_start build "Building QEMU" + - make --output-sync -j"$JOBS" + - section_end build + - section_start test "Running tests" + - if test -n "$MAKE_CHECK_ARGS"; + then + make -j"$JOBS" $MAKE_CHECK_ARGS ; + fi + - section_end test + ubuntu-24.04-aarch64-all-linux-static: - extends: .custom_runner_template - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch64 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - - if: "$AARCH64_RUNNER_AVAILABLE" - script: - - mkdir build - - cd build - # Disable -static-pie due to build error with system libc: - # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438 - - ../configure --enable-debug --static --disable-system --disable-pie - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make --output-sync -j`nproc --ignore=3D40` - - make check-tcg - - make --output-sync -j`nproc --ignore=3D40` check + extends: .ubuntu_aarch64_template + variables: + # Disable -static-pie due to build error with system libc: + # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438 + CONFIGURE_ARGS: --enable-debug --static --disable-system --disable-pie + MAKE_CHECK_ARGS: check-tcg =20 ubuntu-24.04-aarch64-all: - extends: .custom_runner_template - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch64 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - when: manual - allow_failure: true - - if: "$AARCH64_RUNNER_AVAILABLE" - when: manual - allow_failure: true - script: - - mkdir build - - cd build - - ../configure - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make --output-sync -j`nproc --ignore=3D40` - - make --output-sync -j`nproc --ignore=3D40` check + extends: .ubuntu_aarch64_template + variables: + MAKE_CHECK_ARGS: check + rules: + - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANC= H =3D~ /^staging/' + when: manual + allow_failure: true + - if: "$AARCH64_RUNNER_AVAILABLE" + when: manual + allow_failure: true =20 ubuntu-24.04-aarch64-without-defaults: - extends: .custom_runner_template - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch64 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - when: manual - allow_failure: true - - if: "$AARCH64_RUNNER_AVAILABLE" - when: manual - allow_failure: true - script: - - mkdir build - - cd build - - ../configure --disable-user --without-default-devices --without-default= -features - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make --output-sync -j`nproc --ignore=3D40` - - make --output-sync -j`nproc --ignore=3D40` check + extends: .ubuntu_aarch64_template + variables: + CONFIGURE_ARGS: --disable-user --without-default-devices --without-def= ault-features + MAKE_CHECK_ARGS: check + rules: + - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANC= H =3D~ /^staging/' + when: manual + allow_failure: true + - if: "$AARCH64_RUNNER_AVAILABLE" + when: manual + allow_failure: true =20 ubuntu-24.04-aarch64-alldbg: - extends: .custom_runner_template - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch64 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - - if: "$AARCH64_RUNNER_AVAILABLE" - script: - - mkdir build - - cd build - - ../configure --enable-debug - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make clean - - make --output-sync -j`nproc --ignore=3D40` - - make --output-sync -j`nproc --ignore=3D40` check + extends: .ubuntu_aarch64_template + variables: + CONFIGURE_ARGS: --enable-debug + MAKE_CHECK_ARGS: check-tcg =20 ubuntu-24.04-aarch64-clang: - extends: .custom_runner_template - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch64 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - when: manual - allow_failure: true - - if: "$AARCH64_RUNNER_AVAILABLE" - when: manual - allow_failure: true - script: - - mkdir build - - cd build - - ../configure --disable-libssh --cc=3Dclang --cxx=3Dclang++ --enable-ubs= an - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make --output-sync -j`nproc --ignore=3D40` - - make --output-sync -j`nproc --ignore=3D40` check + extends: .ubuntu_aarch64_template + variables: + CONFIGURE_ARGS: --cc=3Dclang --cxx=3Dclang++ --enable-ubsan + MAKE_CHECK_ARGS: check + rules: + - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANC= H =3D~ /^staging/' + when: manual + allow_failure: true + - if: "$AARCH64_RUNNER_AVAILABLE" + when: manual + allow_failure: true =20 ubuntu-24.04-aarch64-tci: - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch64 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - when: manual - allow_failure: true - - if: "$AARCH64_RUNNER_AVAILABLE" - when: manual - allow_failure: true - script: - - mkdir build - - cd build - - ../configure --enable-tcg-interpreter - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make --output-sync -j`nproc --ignore=3D40` + extends: .ubuntu_aarch64_template + variables: + CONFIGURE_ARGS: --enable-tcg-interpreter + MAKE_CHECK_ARGS: check + rules: + - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANC= H =3D~ /^staging/' + when: manual + allow_failure: true + - if: "$AARCH64_RUNNER_AVAILABLE" + when: manual + allow_failure: true =20 ubuntu-24.04-aarch64-notcg: - extends: .custom_runner_template - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch64 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - when: manual - allow_failure: true - - if: "$AARCH64_RUNNER_AVAILABLE" - when: manual - allow_failure: true - script: - - mkdir build - - cd build - - ../configure --disable-tcg --with-devices-aarch64=3Dminimal - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make --output-sync -j`nproc --ignore=3D40` - - make --output-sync -j`nproc --ignore=3D40` check + extends: .ubuntu_aarch64_template + variables: + CONFIGURE_ARGS: --disable-tcg --with-devices-aarch64=3Dminimal + MAKE_CHECK_ARGS: check + rules: + - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANC= H =3D~ /^staging/' + when: manual + allow_failure: true + - if: "$AARCH64_RUNNER_AVAILABLE" + when: manual + allow_failure: true --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760956984; cv=none; d=zohomail.com; s=zohoarc; b=XUjQEpI/VgRqTBmi9sZMRnN7768kb6rFhuSbYTMrTJ9Dj4hK404vJCMSP2bTrNdGXrWJHrkyqVYDdBpaw0jChad7DvXt7uRCKJaFH5BuK1oWhlg80bItioztRRChGv/iHOa1E5ANMeE96PTTEOxl7c7jPF/RsfldndGqv11n7/8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760956984; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PdnRwZ3tolRl+7dJTQy0leQsj9SwCkKXi3pwZqwGHj8=; b=i/UohY2K6suHlQa0pKzdlzV/gMCqejsEA5k/BuHFd4THXyKg/vapScZ8DC4qJblHsXSroSUDKoxrMN5AwkKpJKaVBpTJIoSk13zCXGygLS9fW/l5afbvL+PRCnCLKSPNgRJt3UxxqkLDWrfmhwyfp8+jY305OEVEEYMMnwtkNvs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760956984298696.983684062706; Mon, 20 Oct 2025 03:43:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnKx-0007XN-Js; Mon, 20 Oct 2025 06:41:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnKu-0007W4-UY for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:56 -0400 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKs-0000fq-Gw for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:56 -0400 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-63c1006fdcfso8133121a12.2 for ; Mon, 20 Oct 2025 03:41:54 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b65e7da33dcsm760523266b.12.2025.10.20.03.41.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:50 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id C17D45F872; Mon, 20 Oct 2025 11:41:49 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956913; x=1761561713; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PdnRwZ3tolRl+7dJTQy0leQsj9SwCkKXi3pwZqwGHj8=; b=A/aQVkmYzYKnbM/H5IuCS9y4Y8UHXqh6KZjemVlNqhz3SlKpiLgJwLqYZ3Wajkwejg jnPAXonPHeQbgKsORntWTY4mw4DrZxzQEaoJzFfD14KSvzBYDs/KUHtFSuRGVJRmVRN5 RAp6N8qYqXkLClgC/5afx0hUjRVJBoHzFmyQN3JV04fwx1FIcm9KHmO2Meq8rJDGPTOe +dJWdG/gT3CRBRHPBAgSPgmUxfOEv+SO9YbX7XwDGexlxv7EQ8bKufLZM1l1rJxWyHUJ AsIifmNZWOou9sVDPsvNWJlk+XrRnK6VqS4QBCLmHhLmtD5wo7DaUPMHoZPkYcjm1ZZO N+MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956913; x=1761561713; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PdnRwZ3tolRl+7dJTQy0leQsj9SwCkKXi3pwZqwGHj8=; b=YqvZv6kO57X6KFjv5abMhBzpOzWB6aaNl6Lpy5W6HY0Z8iRrm1KLCFt9wwGhHhqkrR l7sY3pKov3XDzbYyWymy9dBgU8cuYS41e+MOAbKiljS74PUUanB9kiWOZS/Tg0GcuNtD wUyeXg8FtoGX3lAQcSvRQoaJpTHhQgpajsXVjRhJe2dtyJnC086rV8QFo4dosS40Usho dM9DmtVQfBLhYd3cSkGE+tw9tER256hloAhzuuISpdc3kg2vhlOEn9ohl5CYNUEsbOk1 PzUyNn9TLvPu9Zh8qCfrxn8tJq+xkuzxmZkCUhga2Mj/6EC91Ac1GVoCazt7tnYl6P6K oQnQ== X-Gm-Message-State: AOJu0YxMNYPChqqa2Fwta3wzO2zIlOx59crEXcngUMiX7TGsyuFg0uvq v5n2jArrHp25Ew/iDc0YDWsjHJkoGoUcnD6O1usc6BGicujePOrNyJDNWxzn81pBed0= X-Gm-Gg: ASbGncvJRHiYAqM1YThzEM6ubAnTfw+BIZFsgJ96ZKklQ8vvurSMaQvXQZuYK8Os39X Ebb3vWDF4SF7vnjkMK83xJCH2tfTs4/wLcwBjzD3aGPiF2s7kafvZ6J5jR+ubQXYIfMHnkaxTr2 r6zbSHCabtEdpF66yzNBKXsXnzoQIz6CBjDTpg3FYoi2hm7gsTyisinrWJTiQ3iVN8q7aX9UP0X qP+wb95ifofqeoG4IQOgYAwRo0gHsCmfX13sEsGtXZJ35HnHF+fnb3DbkvoyzHrXZzqk7CNKxVz RA/Irnxese/vy5VkkaH2As2NOOt4B1WoIshaP9VDr3te5thtZQwdsj3on/qZmVKjONbAVsV4Qgx MZjYTVvLzD/7cJIEgm1QqV5Zy2dmakKh4hBECoWUSLGK1MNEketeACUTF5ryL5ZyfjcaFOXxmKi 7196omD5tEpTQ= X-Google-Smtp-Source: AGHT+IGHFNE8coI7XKCLpdaJJXzmsGN7HOPrXK0XRFVdiSjPu+icLllpk8fL2OAbadaYzpbv83q5Iw== X-Received: by 2002:a17:907:984:b0:b4b:cb5:133a with SMTP id a640c23a62f3a-b6474b371d9mr1351975266b.39.1760956912587; Mon, 20 Oct 2025 03:41:52 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth Subject: [PULL 02/11] gitlab: drop aarch32 runner and associated bits Date: Mon, 20 Oct 2025 11:41:40 +0100 Message-ID: <20251020104149.4034124-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::533; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x533.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760956987573158500 While working out what hoops to jump through to get a full set of aarch32 packages installed on the aarch64 runner it was pointed out 32 bit host support is deprecated. As the extra packages where needed for system emulation (marked deprecated since 8.0!) there didn't seem much point keeping this in. While the full expunging of 32 bit host support will probably be done for 11.0 we can at least reduce the CI burden a bit now. Reviewed-by: Pierrick Bouvier Message-ID: <20251016150357.876415-3-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.= yml index 3eb8216d571..142fbf4a242 100644 --- a/.gitlab-ci.d/custom-runners.yml +++ b/.gitlab-ci.d/custom-runners.yml @@ -31,4 +31,3 @@ include: - local: '/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml' - local: '/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch64.yml' - - local: '/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch32.yml' diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch32.yml b/.gitlab= -ci.d/custom-runners/ubuntu-24.04-aarch32.yml deleted file mode 100644 index 75029c9187e..00000000000 --- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-aarch32.yml +++ /dev/null @@ -1,25 +0,0 @@ -# All ubuntu-24.04 jobs should run successfully in an environment -# setup by the scripts/ci/setup/ubuntu/build-environment.yml task -# "Install basic packages to build QEMU on Ubuntu 24.04" - -ubuntu-24.04-aarch32-all: - extends: .custom_runner_template - needs: [] - stage: build - tags: - - ubuntu_24.04 - - aarch32 - rules: - - if: '$CI_PROJECT_NAMESPACE =3D=3D "qemu-project" && $CI_COMMIT_BRANCH = =3D~ /^staging/' - when: manual - allow_failure: true - - if: "$AARCH32_RUNNER_AVAILABLE" - when: manual - allow_failure: true - script: - - mkdir build - - cd build - - ../configure --cross-prefix=3Darm-linux-gnueabihf- - || { cat config.log meson-logs/meson-log.txt; exit 1; } - - make --output-sync -j`nproc --ignore=3D40` - - make --output-sync -j`nproc --ignore=3D40` check diff --git a/scripts/ci/setup/ubuntu/build-environment.yml b/scripts/ci/set= up/ubuntu/build-environment.yml index 6042750cb4d..0f8ec5fab04 100644 --- a/scripts/ci/setup/ubuntu/build-environment.yml +++ b/scripts/ci/setup/ubuntu/build-environment.yml @@ -47,21 +47,4 @@ - ansible_facts['distribution'] =3D=3D 'Ubuntu' - ansible_facts['distribution_version'] =3D=3D '24.04' =20 - - name: Install armhf cross-compile packages to build QEMU on AArch64 = Ubuntu 24.04 - package: - name: - - binutils-arm-linux-gnueabihf - - gcc-arm-linux-gnueabihf - - libblkid-dev:armhf - - libc6-dev:armhf - - libffi-dev:armhf - - libglib2.0-dev:armhf - - libmount-dev:armhf - - libpcre2-dev:armhf - - libpixman-1-dev:armhf - - zlib1g-dev:armhf - when: - - ansible_facts['distribution'] =3D=3D 'Ubuntu' - - ansible_facts['distribution_version'] =3D=3D '24.04' - - ansible_facts['architecture'] =3D=3D 'aarch64' =20 diff --git a/scripts/ci/setup/ubuntu/ubuntu-2204-armhf-cross.yml b/scripts/= ci/setup/ubuntu/ubuntu-2204-armhf-cross.yml deleted file mode 100644 index 0cc34cd10b9..00000000000 --- a/scripts/ci/setup/ubuntu/ubuntu-2204-armhf-cross.yml +++ /dev/null @@ -1,127 +0,0 @@ -# THIS FILE WAS AUTO-GENERATED -# -# $ lcitool variables --cross-arch armv7l ubuntu-2204 qemu -# -# https://gitlab.com/libvirt/libvirt-ci - -packages: - - bash - - bc - - bison - - bsdextrautils - - bzip2 - - ca-certificates - - ccache - - dbus - - debianutils - - diffutils - - exuberant-ctags - - findutils - - flex - - gcc - - gcovr - - gettext - - git - - hostname - - libglib2.0-dev - - libpcre2-dev - - libsndio-dev - - libspice-protocol-dev - - llvm - - locales - - make - - meson - - mtools - - ncat - - ninja-build - - openssh-client - - pkgconf - - python3 - - python3-numpy - - python3-opencv - - python3-pillow - - python3-pip - - python3-sphinx - - python3-sphinx-rtd-theme - - python3-tomli - - python3-venv - - python3-yaml - - rpm2cpio - - sed - - socat - - sparse - - swtpm - - tar - - tesseract-ocr - - tesseract-ocr-eng - - xorriso - - zstd - - gcc-arm-linux-gnueabihf - - libaio-dev:armhf - - libasan6:armhf - - libasound2-dev:armhf - - libattr1-dev:armhf - - libbpf-dev:armhf - - libbrlapi-dev:armhf - - libbz2-dev:armhf - - libc6-dev:armhf - - libcacard-dev:armhf - - libcap-ng-dev:armhf - - libcapstone-dev:armhf - - libcmocka-dev:armhf - - libcurl4-gnutls-dev:armhf - - libdaxctl-dev:armhf - - libdrm-dev:armhf - - libepoxy-dev:armhf - - libfdt-dev:armhf - - libffi-dev:armhf - - libfuse3-dev:armhf - - libgbm-dev:armhf - - libgcrypt20-dev:armhf - - libglib2.0-dev:armhf - - libglusterfs-dev:armhf - - libgnutls28-dev:armhf - - libgtk-3-dev:armhf - - libibumad-dev:armhf - - libibverbs-dev:armhf - - libiscsi-dev:armhf - - libjemalloc-dev:armhf - - libjpeg-turbo8-dev:armhf - - libjson-c-dev:armhf - - liblttng-ust-dev:armhf - - liblzo2-dev:armhf - - libncursesw5-dev:armhf - - libnfs-dev:armhf - - libnuma-dev:armhf - - libpam0g-dev:armhf - - libpipewire-0.3-dev:armhf - - libpixman-1-dev:armhf - - libpng-dev:armhf - - libpulse-dev:armhf - - librbd-dev:armhf - - librdmacm-dev:armhf - - libsasl2-dev:armhf - - libsdl2-dev:armhf - - libsdl2-image-dev:armhf - - libseccomp-dev:armhf - - libselinux1-dev:armhf - - libslirp-dev:armhf - - libsnappy-dev:armhf - - libspice-server-dev:armhf - - libssh-dev:armhf - - libsystemd-dev:armhf - - libtasn1-6-dev:armhf - - libubsan1:armhf - - libudev-dev:armhf - - liburing-dev:armhf - - libusb-1.0-0-dev:armhf - - libusbredirhost-dev:armhf - - libvdeplug-dev:armhf - - libvirglrenderer-dev:armhf - - libvte-2.91-dev:armhf - - libxen-dev:armhf - - libzstd-dev:armhf - - nettle-dev:armhf - - systemtap-sdt-dev:armhf - - zlib1g-dev:armhf - --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760957066; cv=none; d=zohomail.com; s=zohoarc; b=gimuU9oE+/ZTdHc1sk1Bdc+tmQ4IUEwczV1r4HM6LvoKDICJYsKQdQJ5zVjrfxMUMLfqgYs9JwRodAuh/0S8rWefCTdA+ovuBr5jIH/K0uQzEDCkK8RcJ/EgL2MBGt8BmLzuGkPCLVX7Se6ukxtwny030I0lJQZ755f39HImx3Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760957066; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=pdpnkMbbUpYrtLpkGWrMXiavm+tcMRwuxpmilKnsCCA=; b=dgZ+dEEGF+UPs5ts7eZcdbMgKY03KSc19OHGuAYjUrggn6snIoPaNYrxE8SLqTYZL7DhwiyoxUNuSC2OSLNHyJQKjUBTfK9OPjPDLkuiO1HjyBygZ9KFBYD3PH9Dmd35X7qS6piABNsAG5Qsuw9c9GOMSU9LQ84pnMHSr71xZ6c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760957066959905.9946090965799; Mon, 20 Oct 2025 03:44:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnL0-0007ZS-3b; Mon, 20 Oct 2025 06:42:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnKv-0007WO-Dz for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:57 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKt-0000g1-BF for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:57 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-b3b3a6f4dd4so781890666b.0 for ; Mon, 20 Oct 2025 03:41:54 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b65e83937a3sm757643366b.23.2025.10.20.03.41.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:50 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id D67445F905; Mon, 20 Oct 2025 11:41:49 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956913; x=1761561713; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pdpnkMbbUpYrtLpkGWrMXiavm+tcMRwuxpmilKnsCCA=; b=Kb98qTObo78LlPgezIQ+zQFQLHFBtFAYShB/+IR4OKK5dV7crAwkVlf7FqNyrDlDTZ i0agl9YSScPSEog1H8SqgSJRTsnR6bVHXM1Cg13h7k504EOUKpJ0Q8JmWvaN/JvRIpq1 okuSKTcRMWHCid9x9EGNpaHK2+Kgc59nw1heduZGqsOcs/WsGx3L6gfjADuTxfcMrx9s 8zs8HY/ExstZzUIU28PidqNvNsQiDacnq0N+W/mjoaRTnXXwDrrqg9IKNT1PsgrZXTeT PLElMOeX3TcRrJnVEqMWVdf3ZNEgN948VcOSrwQ9VnhLxUxIB549qlhVVRnIzBVBBGa7 rRQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956913; x=1761561713; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pdpnkMbbUpYrtLpkGWrMXiavm+tcMRwuxpmilKnsCCA=; b=QJ1uq+K9vQZtwiG6EjUf2P7/DwPGrjYvVMqJRoUeyFUqO8NnOJF0X292cknyt9BKFq IoEco47TChwFee+Ufku1WW2h9iNwy5QXuMMVofxaBeifHlDtWdODRupqTKuoZxqqKpNQ k0Ob+ATzZRQ6zUNVkW/icWKVxsJTL8fExID1WtWBEfWo1YsMoeVIDuEMrorac9UVyfo+ iccRarfSBfJdILrIlnjHfVooJwNhEYfwdaumXdNK1JmXChg1F+2uVOjQKTcT6VPa9O+W xgq4oDPu0HAm7JKgbtZN4+pHdS0D4Cd9eZh/cQYuRA5hl4ydqikP+6Z+izfsNK+8mi9z Qo+g== X-Gm-Message-State: AOJu0Yw/1poSozjcZziaDnHnZqTYaT/5NTym9dlf2KfCKLrt4Em+SFpg kamOoD2tFm60HzVc2Zvtx+tHhmcx6hFV0UQQRsPew4/2DFueRcSzp6GC2eTctriNa8ZsvL88H4f IeMP4af0= X-Gm-Gg: ASbGncu3FFiO4pUjA+lkVwBnmwW+lhFifsegCvBDwSDr2xvB0JF3StgtzrGukN27xnw pVZQlWRQjKPCizySAP0ajMPV0vDd4OqEM+7jNgfwsKyt5im/hWArWA6zikoxtuX/+AzT4mpIpgt kXJnKP6uEs9zxWQLzK+3ApoeLolaPgCpv5ADVfkQ6gwiU0fFoMkEjgV56WRLusaHra7yukGZXN+ Guts4LCKeLLOBNeCmzvOckUDABoVegnzv1J5J2s0IVz3se8gozqFdh0WjGksX0G2ab1lqW0P8/u 7wTGKFQ+wA6iWDZHLjjlQ6yOLp+Qi/9/hhxJWOu8QmZtsnzVYCsUHI5j7f+KRhMdkTSD6Cvk4yZ d1A5Z1H1IhptVy4TeVZnXTzgIs2IXPgeac6DsJbIhesFNcU4YcJLvvMZLS3I19068kqoHySW3PX kzqeYo8LFj+38= X-Google-Smtp-Source: AGHT+IGPcKbhjk7sTWmD13E2n3JKvkcNRO1Xsan0ivp9dCNie+2dSpUFEnn2P87sh/KlCc/t5vRfxw== X-Received: by 2002:a17:907:7b87:b0:b2d:d7ba:8e7b with SMTP id a640c23a62f3a-b647463a2d7mr1457036366b.23.1760956913116; Mon, 20 Oct 2025 03:41:53 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Peter Maydell , qemu-stable@nongnu.org, Thomas Huth , Richard Henderson , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PULL 03/11] tests/tcg/multiarch/linux/linux-test: Don't try to test atime update Date: Mon, 20 Oct 2025 11:41:41 +0100 Message-ID: <20251020104149.4034124-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760957067668154100 From: Peter Maydell The linux-test test includes an attempt to check the utime and stat syscalls by setting the atime and mtime of a file to specific values, and then calling stat() to check that the values read back correctly. Unfortunately this is flaky, as it will fail if some other process (for instance a virus scanner, backup program, etc) gets in and reads the file between the utime() and stat() call, resulting in a host syscall sequence like this: utimensat(AT_FDCWD, "file2", [{tv_sec=3D1001, tv_nsec=3D0} /* 1970-01-01T01:16:41+0100 */, {tv_sec=3D1000, tv_nsec=3D0} /* 1970-01-01T01:16:40+0100 */], 0) =3D 0 # successfully set atime to 1001 and mtime to 1000 statx(AT_FDCWD, "file2", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=3DSTATX_BASIC_STATS|STATX_MNT_ID, stx_blksize=3D4096, stx_attributes=3D0, stx_nlink=3D1, stx_uid=3D32808, stx_gid=3D32808, stx_mode=3DS_IFREG|0600, stx_ino=3D21659016, stx_size=3D100, stx_blocks=3D8, stx_attributes_mask=3DSTATX_ATTR_COMPRESSED|STATX_ATTR_IMMUTABLE| STATX_ATTR_APPEND|STATX_ATTR_NODUMP|STATX_ATTR_ENCRYPTED| STATX_ATTR_AUTOMOUNT|STATX_ATTR_MOUNT_ROOT|STATX_ATTR_VERITY| STATX_ATTR_DAX, stx_atime=3D{tv_sec=3D1760091862, tv_nsec=3D63509009} /* 2025-10-10T11:2= 4:22.063509009+0100 */, stx_ctime=3D{tv_sec=3D1760091862, tv_nsec=3D63509009} /* 2025-10-10T11:2= 4:22.063509009+0100 */, stx_mtime=3D{tv_sec=3D1000, tv_nsec=3D0} /* 1970-01-01T01:16:40+0100 */, stx_rdev_major=3D0, stx_rdev_minor=3D0, stx_dev_major=3D252, stx_dev_minor=3D0, stx_mnt_id=3D0x1f}) =3D 0 # but when we statx the file, we get back an mtime of 1000 # but an atime corresponding to when the other process read it and which will cause the test program to fail with the error message "stat time". In theory we could defend against this by e.g. operating on files in a dummy loopback mount filesystem which we mounted as 'noatime', but this isn't worth the hassle. Just drop the check on atime. Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Message-ID: <20251016150357.876415-4-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/tests/tcg/multiarch/linux/linux-test.c b/tests/tcg/multiarch/l= inux/linux-test.c index 64f57cb287e..bf6e0fda262 100644 --- a/tests/tcg/multiarch/linux/linux-test.c +++ b/tests/tcg/multiarch/linux/linux-test.c @@ -155,9 +155,14 @@ static void test_file(void) error("stat mode"); if ((st.st_mode & 0777) !=3D 0600) error("stat mode2"); - if (st.st_atime !=3D 1001 || - st.st_mtime !=3D 1000) + /* + * Only check mtime, not atime: other processes such as + * virus scanners might race with this test program and get + * in and update the atime, causing random failures. + */ + if (st.st_mtime !=3D 1000) { error("stat time"); + } =20 chk_error(stat(tmpdir, &st)); if (!S_ISDIR(st.st_mode)) --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760957016; cv=none; d=zohomail.com; s=zohoarc; b=Uv2NnW6qahCQNH3xrhOu8FPbJcxsMFQ5DWLe44MmvzjkluNN/uLvfQ6lE2UP1/ExuFOdE3uDd22Ip+JLFjkG+Nr++dVEoL9DOS/rL3w9KVi5dvyyoAsAeYK++aZQXUV8d/VNPY/8li1UUHKlTNmnyskmvmuF1+YSyKd06RAFjx8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760957016; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KmuoIaZJYNvFdS9rN3/tOhcWyvPFH8X8zZaP+5cgj7Y=; b=KPePNMzKiLt3JKdcXKwMoVUDgS+oDdXGU+TttOHKr2jG9///ZdxEAu0NK97L+8VPosr/fTQy4Xpj9E+CgYnhkXgIzy4xzR6Ul3T9VsPFo7mV8S+1Oc6dhU6aHXXb8eCqCr/alazCj/GXwsowL7iqwLzcTSwfcbpnsKfK0FyS7s0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760957016579858.1300437863782; Mon, 20 Oct 2025 03:43:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnKy-0007Xd-4f; Mon, 20 Oct 2025 06:42:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnKw-0007Wy-Io for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:58 -0400 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKu-0000gH-0v for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:58 -0400 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-63c2d72581fso4681791a12.0 for ; Mon, 20 Oct 2025 03:41:55 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63c4949bed7sm6346663a12.35.2025.10.20.03.41.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:51 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id EEE655F9F7; Mon, 20 Oct 2025 11:41:49 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956914; x=1761561714; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KmuoIaZJYNvFdS9rN3/tOhcWyvPFH8X8zZaP+5cgj7Y=; b=BSEk8dfFKg1ERZuw4Agz9aa2SgqVmus2zsiEY0mJfyk47PjXOiegAsJfQ7r0si8sH8 TzCZYoLIyMubadWcXQXBrnWvG6QLBpX/pD4Sl9nHuDKLpY/Kew5OohpQkXG3Eqm9L6Rv +hv8hA05AXJL9NrwOYMikCqASPXre/XwEjmNrrqI8rHeR1/8ZobKK5NMp6gVa/bZtLq1 Y28rsYgK0+VXq0ne2mv6yK15S2vLNH4LkrYY/DrHkbzZgAjkpKY/he02LJTxGApNfJHP rawSzaxjOpUCMhNXQDdlofAlZdYWqyJZH/UUHVA2zaRNdn5TKOJgGmaQ3u6rS/M9Z79i Z4Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956914; x=1761561714; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KmuoIaZJYNvFdS9rN3/tOhcWyvPFH8X8zZaP+5cgj7Y=; b=jHsgHAunXGeMDDeSGffymHUCUiyaZ+TX6X3oIOOLYg9t/c5crvwPd8vuzwPIKwvGIO bR0Yvt0Sg1qrhuZsqpBcO8/D1ShrOCjmenSJRI2BH5/3OoPRoK7WNHnO3yGfBN4uZjiZ kmUDBCf/ioDCIFABXVsPQZjWJo/sISmph1wHdXcbjut5j9g0D0RscGnSe5i1GPo4BSUD gvh4HoGKJIJmBCmIwLfW2AOQyl5LbgG8C+lKKZDtqCMg61TGWQxRLZdqnJYQzQLw5IZo RItCg8l3B7XVT1cDWNRyGdPt+/0h+EliLmtgDuDz0PEaiFNqmbDcmQzROsvBf6p24PJF Q/ug== X-Gm-Message-State: AOJu0YyVUmdpZ9MlYljWHjmXLKnSJhqWubzCMMthFFdgFFrufO/Y2Hy5 CplvEIwbJ9DaGpTL0Ucp8xhlT5JZqnBlTci6t2uOBMC80Cmm9XnPsfud1oT5WVukjw4= X-Gm-Gg: ASbGncu/OO5S5KGh4BmljpM7/L6CCX7DiaweFFQlmyQTPRu/QL7TPHYIYT//bjt9QuR s/3VAaHLMgz7f+uHPB2YfFX7Y9FzCNpzWX7mDpbJ9KNYox+9OmD8KpM4rIn1iJl2UXsyAWXTEKq nzinEU66ErKgWTXxv3g3wEH+ZtDJq5yZL/OyxfEgpj38V3ysynCUtEaQIiF4orV1lsQ1QpM1Znw V5f54CVq0cDeZf5+nxKadGGTapCq+lz7Ork2gjmv8fkcP67wiS4feE9DdG3z5BCWOccjkU6HIpx VzswBzRmv+5hh88PVkQh4FAkjxphLkif2brbV28WqzvkIXjYWGkGGsDWZHkZkgLbOjeH/C63U9k LJQ0W1h0pnGEZlv1ugyoA5qfm536pRfaJPNsATAwzELllLhp3XBSITbzzBrrajrLsj4+46AJ8dP 1VfjrDr8S9dAk= X-Google-Smtp-Source: AGHT+IGEnHTAs6zU3fPWxPyPSJsBGHsRI4QAhZ31vHAAF4emgvdV5hhENK6LCrx0IrP5mUqymE7tcA== X-Received: by 2002:a05:6402:524c:b0:633:7017:fcbc with SMTP id 4fb4d7f45d1cf-63c1f69cd11mr12764098a12.15.1760956914229; Mon, 20 Oct 2025 03:41:54 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Andrew Keesler , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , "Michael S. Tsirkin" , Akihiko Odaki , Dmitry Osipenko , Eric Blake , Markus Armbruster Subject: [PULL 04/11] Support per-head resolutions with virtio-gpu Date: Mon, 20 Oct 2025 11:41:42 +0100 Message-ID: <20251020104149.4034124-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52e; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760957019574154100 From: Andrew Keesler In 454f4b0f, we started down the path of supporting separate configurations per display head (e.g., you have 2 heads - one with EDID name "AAA" and the other with EDID name "BBB"). In this change, we add resolution to this configuration surface (e.g., you have 2 heads - one with resolution 111x222 and the other with resolution 333x444). -display vnc=3Dlocalhost:0,id=3Daaa,display=3Dvga,head=3D0 \ -display vnc=3Dlocalhost:1,id=3Dbbb,display=3Dvga,head=3D1 \ -device '{"driver":"virtio-vga", "max_outputs":2, "id":"vga", "outputs":[ { "name":"AAA", "xres":111, "yres":222 }, { "name":"BBB", "xres":333, "yres":444 } ]}' Here is the behavior matrix of the current resolution configuration surface (xres/yres) with the new resolution configuration surface (outputs[i].xres/yres). Case: !(xres || yres) && !(outputs[i].has_xres && outputs[i].has_yres) Behavior: current behavior - outputs[0] enabled with default xres/yres Case: (xres || yres) && !(outputs[i].has_xres && outputs[i].has_yres) Behavior: current behavior - outputs[0] enabled with xres/yres Case: !(xres || yres) && (outputs[i].has_xres && outputs[i].has_yres) Behavior: new behavior - outputs[i] enabled with outputs[i].xres/yres Case: (xres || yres) && (outputs[i].has_xres && outputs[i].has_yres) Behavior: new behavior - outputs[i] enabled with outputs[i].xres/yres Signed-off-by: Andrew Keesler Reviewed-by: Daniel P. Berrang=C3=A9 Message-ID: <20250902141312.750525-2-ankeesler@google.com> [AJB: dropped pointless output_idx range check, tweak commit] Message-ID: <20251016150357.876415-5-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/qapi/virtio.json b/qapi/virtio.json index 05295ab6655..0ce789bb22f 100644 --- a/qapi/virtio.json +++ b/qapi/virtio.json @@ -971,15 +971,21 @@ ## # @VirtIOGPUOutput: # -# Describes configuration of a VirtIO GPU output. +# Describes configuration of a VirtIO GPU output. If both xres and +# yres are set, they take precedence over root virtio-gpu +# resolution configuration and enable the corresponding output. # # @name: the name of the output # +# @xres: horizontal resolution of the output in pixels (since 10.2) +# +# @yres: vertical resolution of the output in pixels (since 10.2) +# # Since: 10.1 ## =20 { 'struct': 'VirtIOGPUOutput', - 'data': { 'name': 'str' } } + 'data': { 'name': 'str', '*xres': 'uint16', '*yres': 'uint16' } } =20 ## # @DummyVirtioForceArrays: diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c index 7269477a1c8..14058f6bffb 100644 --- a/hw/display/virtio-gpu-base.c +++ b/hw/display/virtio-gpu-base.c @@ -233,6 +233,15 @@ virtio_gpu_base_device_realize(DeviceState *qdev, g->req_state[0].width =3D g->conf.xres; g->req_state[0].height =3D g->conf.yres; =20 + for (output_idx =3D 0, node =3D g->conf.outputs; + node; output_idx++, node =3D node->next) { + if (node->value->has_xres && node->value->has_yres) { + g->enabled_output_bitmask |=3D (1 << output_idx); + g->req_state[output_idx].width =3D node->value->xres; + g->req_state[output_idx].height =3D node->value->yres; + } + } + g->hw_ops =3D &virtio_gpu_ops; for (i =3D 0; i < g->conf.max_outputs; i++) { g->scanout[i].con =3D --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760957000; cv=none; d=zohomail.com; s=zohoarc; b=Sc6KO8n8NM/8cZLEBVNIauRZbVV0jOtkSk0kVGvPa6933WpkeGF5WgflxVtSPz/r7vyePu+27oE9O+7YJVDYNP5RM6FmpMkGE9+bK1vhJKb25Go8/pttdTH2rBO14tZQockKm7wZhz3NFohCa1bpnDhT4z5kUSeZdJq/vqeDh+U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760957000; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IvYlwMHdVV/m4b7uoLnXwowMJKhEagoEJQgkNT3N2pE=; b=VlqjEoFUnozKWVHbmJcmfL5h9AXA/NPQa7ASZRvUdJCNl3brtR+uxm/mdA5yfvrqRIjOT8KY9Wwhtw2kefuFLtdJpG0nRLGAiX+RK7RhSraYeIjsxuPvUTnmBoOco1RoMT66y5Iq8HGooPP27FHqtoEjkMQXMuAiqO9PMRwneF4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760957000826173.88626114324734; Mon, 20 Oct 2025 03:43:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnKz-0007Yc-NY; Mon, 20 Oct 2025 06:42:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnKx-0007XP-Pw for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:59 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKv-0000ga-QW for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:59 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-63994113841so7182928a12.3 for ; Mon, 20 Oct 2025 03:41:57 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63c4942f629sm6506973a12.25.2025.10.20.03.41.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 106DA5FA5C; Mon, 20 Oct 2025 11:41:50 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956916; x=1761561716; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IvYlwMHdVV/m4b7uoLnXwowMJKhEagoEJQgkNT3N2pE=; b=FYPu1VTtWqrODrIZXJGku0xB2gX/stEqhboAQQ4KnyfEDUjRyl9vWtclR/X4rrvr7I /EIR6PhIMMNOYtXdbsruUy9Py3e11IFQf5b4gBcOaQfOXhi8CNy3++nJ+eoshUdYPDF1 aC008TJNqckTM/aW/aUzXaCzbdPdMasKFrA+4HB9R0x9uWRaPqi4Dz5Lq7fZ/g/dkfHr I4ZesKLHHrkaum2XD4L9/fIxHBupdYte1FZhlyMfsK8Htk9q9qUGVO32kwrFrS98eVvS Q5mSahnjxzuk4Urll9aJlAT+lUG+tHi4hku5+3O09D28D+DVQFq7v2ArtdM0gkZ517zC c33g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956916; x=1761561716; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IvYlwMHdVV/m4b7uoLnXwowMJKhEagoEJQgkNT3N2pE=; b=bush82fjPDGA35TOb8k5CG+CBw2NfgZBEf/9QQ0H1Qz1y8Ij8olORC8JrCHdLt/Efq OWkEx1XWYOIoYG5q5ZPD9UoadzL429b+yGWlTk8C6jwtJxS0kNeSPDj+DdIxobiCosmH VbrChieNkQWOntpNkjrgztSQO6/t7swhg3EG6th80XgthTn6OpNdUQv4vBpgWzg2TT9U MCTChL3b9tLRdaFgXl9mw3qwbXw3c92pv/XNiGlDGb9j4l7P2JHPHIlKcu53nQ6ZpDp1 atcAlMyBSGuwqRZwu+Ydui/CGgjpdKWJQ8664jD0WAXYahxDn5ic7zm5JuEpppZC7Ozp aR8w== X-Gm-Message-State: AOJu0YxKxnFEqXpvNvItLKxTFrxwz29ROUkuPlrLpWDYooQ7QvOVAH+a 0Wsh+vd6onuKBuxpnSdIPblhLIXrYD3ZEg3RXuoYbumpTu5+7OIngTr8rujejfEDuPSR5xLnTM8 QdlU+UFU= X-Gm-Gg: ASbGnctdDJuY4i96lWBWaeg5dlgldD0sxtKFgZXyfgIgSrtqTu+J91hN+T6S9q04yyz zMrYVlshERsz9PcffrOAbWC5Fjq9MXdIrtOsbR5SgYSpOzplwp3fRaGaXO98nbFUHXDhYKM+/Cw aU8yYNcO3+0reE1nlDr4tJovP179g1rCTLaJBmUrKTb3gVXCaMBbBlfMuuL9B8yUZDy8OxT973Y sZdUon/sc3XDXgtFr+mva+1n+JBN6PZj/m8ucD69FYr4hdrZpO4ozTjYvd3jVYSe6yl62aO6bqM 7GD9gprhzCZ9SJrLIT5qgdB1AKIkZpHqLs1xsUFXvGTsgDAkk7Dq4ZjejBsenV+dIS9CTXTH6J5 3y5ptG6pmt2W/JshRqljB8ajSn4lE9HeXB/u9Mq0fyfPaDSRSD/lrk1pJ2tkQ6uX0kyNo+IEW5r a6Ios3gFJ7fGs= X-Google-Smtp-Source: AGHT+IELUTlT9FnWeQZCFgdMQU9vS1O8jSEMu1Umvh6dXpBuNnEJMdTbxb80C9ft9wLS9uVk4LpRqg== X-Received: by 2002:a05:6402:2353:b0:63c:32a6:ea0f with SMTP id 4fb4d7f45d1cf-63c32a6ef2bmr10499261a12.14.1760956915990; Mon, 20 Oct 2025 03:41:55 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Dongwon Kim , Dmitry Osipenko , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Vivek Kasireddy , qemu-stable@nongnu.org Subject: [PULL 05/11] ui/gtk-gl-area: Remove extra draw call in refresh Date: Mon, 20 Oct 2025 11:41:43 +0100 Message-ID: <20251020104149.4034124-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::531; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x531.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760957002873154100 From: Dongwon Kim This partially reverts commit 77bf310084dad38b3a2badf01766c659056f1cf2 which causes some guest display corruption when gtk-gl-area is used for GTK rendering (e.g. Wayland Compositor) possibly due to simulataneous accesses on the guest frame buffer by host compositor and the guest. Fixes: 77bf310084 ("ui/gtk: Draw guest frame at refresh cycle") Reported-by: Dmitry Osipenko Reported-by: Alex Benn=C3=A9e Tested-by: Alex Benn=C3=A9e Tested-by: Dmitry Osipenko Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Dmitry Osipenko Cc: Marc-Andr=C3=A9 Lureau Cc: Vivek Kasireddy Signed-off-by: Dongwon Kim Message-Id: <20250214170813.2234754-1-dongwon.kim@intel.com> Message-ID: <20250603110204.838117-12-alex.bennee@linaro.org> Cc: qemu-stable@nongnu.org Message-ID: <20251016150357.876415-6-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/ui/gtk-gl-area.c b/ui/gtk-gl-area.c index 05fc38096ec..cd86022d264 100644 --- a/ui/gtk-gl-area.c +++ b/ui/gtk-gl-area.c @@ -165,7 +165,22 @@ void gd_gl_area_refresh(DisplayChangeListener *dcl) =20 if (vc->gfx.guest_fb.dmabuf && qemu_dmabuf_get_draw_submitted(vc->gfx.guest_fb.dmabuf)) { - gd_gl_area_draw(vc); + /* + * gd_egl_refresh() calls gd_egl_draw() if a DMA-BUF draw has alre= ady + * been submitted, but this function does not call gd_gl_area_draw= () in + * such a case due to display corruption. + * + * Calling gd_gl_area_draw() is necessary to prevent a situation w= here + * there is a scheduled draw event but it won't happen bacause the= window + * is currently in inactive state (minimized or tabified). If draw= is not + * done for a long time, gl_block timeout and/or fence timeout (on= the + * guest) will happen eventually. + * + * However, it is found that calling gd_gl_area_draw() here causes= guest + * display corruption on a Wayland Compositor. The display corrupt= ion is + * more serious than the possible fence timeout so gd_gl_area_draw= () is + * omitted for now. + */ return; } =20 --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760956976; cv=none; d=zohomail.com; s=zohoarc; b=Fepd1AvMsrzk23pwBvJCY0Ux6KLB872CVvnJqokf1049UXE6KUroveCJatqvA+sPeo+5d7LIuq1ES7JxE9JczvFkL0ZIE2ZYZltYzbxlqa/Z5p0JFOCsFUSgGSvQ+X0McVoibU8Mk5l02Y7ZKbNJjDBXKM3N/IbuRt7g+HiO0Uw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760956976; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AeXvTgpu9wvcZBhqOo2JhRfO+nkbidkcx8BpjGy3qRY=; b=PDnD72tTUQn0XLaQg7zkmMMmhwh5XNo6p+ilWEBBAdTKGsI4i4w7yHAvX/VXKePlDheu+namD6ts4l8fxOszJJGKOxL6zRkiudcAQDnECnIbPccuiK3IRt1Y/DlBRGQn829SIunNidTSvQT18YUpFHkMjiGSrrq2ZbDHPmAMZNY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 176095697667351.03203070501468; Mon, 20 Oct 2025 03:42:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnL1-0007aA-EU; Mon, 20 Oct 2025 06:42:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnKy-0007Xk-6R for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:00 -0400 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKw-0000gh-0N for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:41:59 -0400 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-b48d8deaef9so826218466b.2 for ; Mon, 20 Oct 2025 03:41:57 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b65eb036884sm748265466b.40.2025.10.20.03.41.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:53 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 28FFD602AD; Mon, 20 Oct 2025 11:41:50 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956916; x=1761561716; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AeXvTgpu9wvcZBhqOo2JhRfO+nkbidkcx8BpjGy3qRY=; b=ZeZ3uq4TzK6w+xUFGcZiC0tC1ggkKl7RoS9dSLCTLCz9g1SGtCLyV8ax6SK9fVoiim cG+36WljapehYE1AmSv9coxzvtKqr8t9A17b0wpfko6RtcdgTkgLRWZrqnuzmhoYdo0T 7r8StXfGaIyKuu+OodYC2Ny0BUWM7Sej2uT5CSnaCr58pJegNdScld3a4bzVe1iOqyVI EhCp2ZqHlGxPozAPmmQbJllpEPNRCUctfA1GyQaS7ZAq81+WLVEwdS8FAHELnnKBPoHH 2gt/WakQXaJqtdXVsbLA2hsUIHFNlLJ3oy3o1QnX6ZulB7pV+SR9XucqDOn3q3Sz504R wwLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956916; x=1761561716; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AeXvTgpu9wvcZBhqOo2JhRfO+nkbidkcx8BpjGy3qRY=; b=MHfZB/p/BuJ6J5sjDPhYtRRv6ot55vHLiJFHb2SADWUP/wfkI/o9c/WS1R+CwH26yS AdXZO2SgO1c0zLoRyZBpdw+b69qcWXb8uxCRKCCoY3sgn09LUWZ37hFnnq6lXAg9Tmtm nME4V8szNIFAwJBBTJubUMicqb2UekKO9INf1GHW1XT7sDpURIJAPr/GxipSGVCZcqiz /a7QPIWAT/sqnbrNfDxYXyPDt0u7ucoW5UzQDgSxs4hAtLjmUHq+i5m/D/4pjp4q8ju2 0reF4mwWSbHjXGs/9tHYmbycR+j8yINWj+BqYXocJ0ebzSMGFt3IRHP9huAWilDs8Z4M 5Hcw== X-Gm-Message-State: AOJu0YwXbtTX6Hsdov/xyaPwNnBkGeXxDrcrdr23lvzc2WJFXqqRO0og WnYn36qkcImVfhMsAKYNvRcqy1CR7BAVfEfPvr+UbesllOIfBEQw5GQcYAQcTasY+s4= X-Gm-Gg: ASbGncvq+1ixeAEvC/ZFTZnf6fo0gmeKbdBaGM022pEnsenHPiyZGa82G1K/h/lCKGf Ze1h5JDq39M4iHmWVfPvHQnQuFgC0GCt0xKi/AseyoKsMNTiY6FtqESZjm32gig1zAiMbnELxQk ic226Rh0sCKEzzXambZmYNbm9/QWuov/lFovxQDr0FJ6gRzHRfXQGA0P3NjsfGLIoIiFGp8Tx1B 8krrMyEu3U498IMV06j9Es0z6dTXDeLxZLsSNC30TWHDDeYtrU3C2Qgz9IAE7fTI+2rLh5kreqW CYdyztrTAEGP6EcOLr1Wi7T2r2GMKgVTcmJlpbDqtJNEEriqX/O1oX6EY16YwvVIzfLxq0b7nY1 +FSbeKGY7OW5Y0LprvQt7HN1CtKPkLtlE/d6UYZolTNdGzJVIeJnaexHGsKn+V+r4NFLnHsdcY9 WEVrLZeNVLfXk= X-Google-Smtp-Source: AGHT+IF1MuTxeUTRofUu2EFZ0GZ7TVjuk8ylfES31AqxGsU/N9j7H49TsIibTLSQdES1Q9X7aAraKw== X-Received: by 2002:a17:906:730d:b0:b49:96e4:1845 with SMTP id a640c23a62f3a-b64739521a3mr1528374166b.41.1760956915130; Mon, 20 Oct 2025 03:41:55 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Pierrick Bouvier , Akihiko Odaki , "Michael S. Tsirkin" , Dmitry Osipenko Subject: [PULL 06/11] hw/display: add blob map/unmap trace events Date: Mon, 20 Oct 2025 11:41:44 +0100 Message-ID: <20251020104149.4034124-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::634; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760956979143154100 As these events happen dynamically as the guest does various things they are quite handy to trace. Reviewed-by: Pierrick Bouvier Reviewed-by: Akihiko Odaki Message-ID: <20251016150357.876415-7-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c index 94ddc01f91c..07f6355ad62 100644 --- a/hw/display/virtio-gpu-virgl.c +++ b/hw/display/virtio-gpu-virgl.c @@ -134,6 +134,8 @@ virtio_gpu_virgl_map_resource_blob(VirtIOGPU *g, =20 res->mr =3D mr; =20 + trace_virtio_gpu_cmd_res_map_blob(res->base.resource_id, vmr, mr); + return 0; } =20 @@ -153,6 +155,8 @@ virtio_gpu_virgl_unmap_resource_blob(VirtIOGPU *g, =20 vmr =3D to_hostmem_region(res->mr); =20 + trace_virtio_gpu_cmd_res_unmap_blob(res->base.resource_id, mr, vmr->fi= nish_unmapping); + /* * Perform async unmapping in 3 steps: * diff --git a/hw/display/trace-events b/hw/display/trace-events index 52786e6e184..e323a82cff2 100644 --- a/hw/display/trace-events +++ b/hw/display/trace-events @@ -38,6 +38,8 @@ virtio_gpu_cmd_set_scanout_blob(uint32_t id, uint32_t res= , uint32_t w, uint32_t virtio_gpu_cmd_res_create_2d(uint32_t res, uint32_t fmt, uint32_t w, uint3= 2_t h) "res 0x%x, fmt 0x%x, w %d, h %d" virtio_gpu_cmd_res_create_3d(uint32_t res, uint32_t fmt, uint32_t w, uint3= 2_t h, uint32_t d) "res 0x%x, fmt 0x%x, w %d, h %d, d %d" virtio_gpu_cmd_res_create_blob(uint32_t res, uint64_t size) "res 0x%x, siz= e %" PRId64 +virtio_gpu_cmd_res_map_blob(uint32_t res, void *vmr, void *mr) "res 0x%x, = vmr %p, mr %p" +virtio_gpu_cmd_res_unmap_blob(uint32_t res, void *mr, bool finish_unmappin= g) "res 0x%x, mr %p, finish_unmapping %d" virtio_gpu_cmd_res_unref(uint32_t res) "res 0x%x" virtio_gpu_cmd_res_back_attach(uint32_t res) "res 0x%x" virtio_gpu_cmd_res_back_detach(uint32_t res) "res 0x%x" --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760956952; cv=none; d=zohomail.com; s=zohoarc; b=UsP4VL3V9djNNQ89NOtIhcNBfCEl+am3wSXJ7WcvxeCTe4eirzf07EdKE0mkfFQy0iqlUclfmrPMVVX01l0eFwSW1coy/UVcT2RM21+oFBdLjy9fszPCIVTsCMaM+X2IMV27RN4ZRgM/ZA1ExpUYiGenhLRLptVGQ1xBv892MRk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760956952; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ELSBQuMi69ksRrGoaFSVPzgb08tBcEHEChhlePgTciE=; b=VcOy/NNUO6vIDl3/uyth3ogi/LH0zVaP9SVvHUIbQ2KNWGT7veKq0Q4i8aUHw2jE6XXB/Ix/w3g4nIhBAyX3aprjYjjUeiGDbkF7oPNJoMNRy8+K3ZDteNqPgebEgKl6vntfA9HBwgbMY67eVd3gne0+WzURLuvlhQ0MbqnHrfc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760956952165416.9304627913965; Mon, 20 Oct 2025 03:42:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnL4-0007b5-JR; Mon, 20 Oct 2025 06:42:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnL1-0007aF-Go for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:03 -0400 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKx-0000hO-Uf for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:03 -0400 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-63c3d7e2217so4734294a12.3 for ; Mon, 20 Oct 2025 03:41:59 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b65e83937a3sm757652566b.23.2025.10.20.03.41.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 42FF160D77; Mon, 20 Oct 2025 11:41:50 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956918; x=1761561718; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ELSBQuMi69ksRrGoaFSVPzgb08tBcEHEChhlePgTciE=; b=rrgIRQTvX1nErTG7cIXaBgV7+Zv87UPpuCJd6tmdAlRtVVJUkeq7nMaFPDHPcqrg14 8mUE9473H0pj6jgM9hySu8A/ZbQtcIrAw6Kc7zn6iyxAKf3Fww1Rr3TdRh0rBwCJEAA6 g9q2Fva6JtlSLjFS9AyYoAAkpYd2AN7gp9uTLBNntpdjgAfgp20BEQcqzvP/5QUJCzKf 9HUYkpX8LwaFJByEFYUfgOxXLB1by0ly78+TsrvOeKfuVKclKkeebj4/QQEolWHCRCKj zIrJ857xIdRn7+pah6P0WGtoF8TC6Jp6U1NIMUEbxdS9NxobfYE12z+0TAy2nchUytaS hjCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956918; x=1761561718; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ELSBQuMi69ksRrGoaFSVPzgb08tBcEHEChhlePgTciE=; b=Y6uk36foFaDGebHlhk1ca4Qh8q7VydtMuLAw4v0yCq3AS4Z2/sgQXJQ2Y6QAiyFfdu LSFqCJTQwwO5lJSGYMMMcLT7MoJr4VbeYzX3jLF76lh4PmDDVr6MMQB/ANprImYjhygx D8KP0Dv5nsTgVSSUquUN9scGDi9v0kmI79mzSe5Qe/G4E80v9ComcYNC3fhQPDb3Hzc2 x7/M6ZEV2OZX6j93Rg8kd35+YkJ1EXUCXkAIjnohjR7oR+ufuwW57nM/P0jODMgY1OZ6 /dJvuEeUqrNcYRo12mn3xF/WEq9ZLiigTg8ID4Y/pRx5sXmvita0MO3XFYFHFiv6tWHI ziRg== X-Gm-Message-State: AOJu0YxnsGMpwmMuU/diV0ANwL6wMRcTJ/dG5O3n5PdM3RP0EAQGUCQ4 NmDy1S939co4RkQfGvzA1sQMq5Al8MsrAOb9gqKjQfVSLRUi0SuT4j/FyQEcFHJBaac= X-Gm-Gg: ASbGnctuvfmUa2iXpPrwBkkWyERqCsAEtqmh3PxJtoCZWM+mZFbqlISSAYHVWiL12dV b8vYwl60xepA26aKIzTKSxxA0whilu1vLR+aIykjYJl7tAnuLdYb3YS2kUqqzeHzXokDAM3RCZH b1I4pJghDiJalpA001kYzzZNmz4zngKFjE8IgF31eBT090GZHMLnzMNaJOxZHB0nuu0cFZ+hY+h CgshS018E+C9S89gr/OFus6eFqPwlfWuVIEJ0Qo3lO37c7n/89PAEnsXTXXxlVhFVC0o+xeB83o a6DQNwwIgnSZdYEHF7iqf2mzjRSjT0P9jdopjwG8/e6H+gRTbnKjOzBeMOFUE93iUltzQpCydIN /u2qcwNDfSVr/jumO8Q1VdQ9MR3VxafhtWM5NlF7cCm4TGHbIAfo0jrXIE9jvmD5n3zhNtD635J lq X-Google-Smtp-Source: AGHT+IHoULyPH2gmZw3im31Fc69Un7htfppLcemwi8zPCWrOz9q0Zwshv3p0vA/ubptaYA42RTeKaw== X-Received: by 2002:a17:906:dc8f:b0:b40:8954:a8a9 with SMTP id a640c23a62f3a-b6474b371efmr1385192166b.34.1760956918200; Mon, 20 Oct 2025 03:41:58 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Alexandre Iooss , Mahmoud Mandour Subject: [PULL 07/11] contrib/plugins/uftrace_symbols.py: generate debug files to map symbols to source Date: Mon, 20 Oct 2025 11:41:45 +0100 Message-ID: <20251020104149.4034124-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52e; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760956959395158500 From: Pierrick Bouvier Enhance uftrace_symbols.py to generate .dbg files, containing source location for every symbol present in .sym file. It allows to use `uftrace {replay,dump} --srcline` and show origin of functions, connecting trace to original source code. It was first implemented with pyelftools DWARF parser, which was way too slow (~minutes) to get locations for every symbol in the linux kernel. Thus, we use `addr2line` instead, which runs in seconds. As well, there were some bugs with latest pyelftools release, requiring to run master version, which is not installable with pip. Thus, since we now require binutils (addr2line), we can ditch pyelftools based implementation and simply rely on `nm` to get symbols information, which is faster and better. Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20251016150357.876415-8-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/contrib/plugins/uftrace_symbols.py b/contrib/plugins/uftrace_s= ymbols.py index b49e03203c8..45fb79c7a58 100755 --- a/contrib/plugins/uftrace_symbols.py +++ b/contrib/plugins/uftrace_symbols.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- # -# Create symbols and mapping files for uftrace. +# Create symbols, debug and mapping files for uftrace. # # Copyright 2025 Linaro Ltd # Author: Pierrick Bouvier @@ -9,44 +9,71 @@ # SPDX-License-Identifier: GPL-2.0-or-later =20 import argparse -import elftools # pip install pyelftools import os - -from elftools.elf.elffile import ELFFile -from elftools.elf.sections import SymbolTableSection - -def elf_func_symbols(elf): - symbol_tables =3D [(idx, s) for idx, s in enumerate(elf.iter_sections(= )) - if isinstance(s, SymbolTableSection)] - symbols =3D [] - for _, section in symbol_tables: - for _, symbol in enumerate(section.iter_symbols()): - if symbol_size(symbol) =3D=3D 0: - continue - type =3D symbol['st_info']['type'] - if type =3D=3D 'STT_FUNC' or type =3D=3D 'STT_NOTYPE': - symbols.append(symbol) - symbols.sort(key =3D lambda x: symbol_addr(x)) +import subprocess + +class Symbol: + def __init__(self, name, addr, size): + self.name =3D name + # clamp addr to 48 bits, like uftrace entries + self.addr =3D addr & 0xffffffffffff + self.full_addr =3D addr + self.size =3D size + + def set_loc(self, file, line): + self.file =3D file + self.line =3D line + +def get_symbols(elf_file): + symbols=3D[] + try: + out =3D subprocess.check_output(['nm', '--print-size', elf_file], + stderr=3Dsubprocess.STDOUT, + text=3DTrue) + except subprocess.CalledProcessError as e: + print(e.output) + raise + out =3D out.strip().split('\n') + for line in out: + info =3D line.split(' ') + if len(info) =3D=3D 3: + # missing size information + continue + addr, size, type, name =3D info + # add only symbols from .text section + if type.lower() !=3D 't': + continue + addr =3D int(addr, 16) + size =3D int(size, 16) + symbols.append(Symbol(name, addr, size)) + symbols.sort(key =3D lambda x: x.addr) return symbols =20 -def symbol_size(symbol): - return symbol['st_size'] - -def symbol_addr(symbol): - addr =3D symbol['st_value'] - # clamp addr to 48 bits, like uftrace entries - return addr & 0xffffffffffff - -def symbol_name(symbol): - return symbol.name +def find_symbols_locations(elf_file, symbols): + addresses =3D '\n'.join([hex(x.full_addr) for x in symbols]) + try: + out =3D subprocess.check_output(['addr2line', '--exe', elf_file], + stderr=3Dsubprocess.STDOUT, + input=3Daddresses, text=3DTrue) + except subprocess.CalledProcessError as e: + print(e.output) + raise + out =3D out.strip().split('\n') + assert len(out) =3D=3D len(symbols) + for i in range(len(symbols)): + s =3D symbols[i] + file, line =3D out[i].split(':') + # addr2line may return 'line (discriminator [0-9]+)' sometimes, + # remove this to keep only line number. + line =3D line.split(' ')[0] + s.set_loc(file, line) =20 class BinaryFile: def __init__(self, path, map_offset): self.fullpath =3D os.path.realpath(path) self.map_offset =3D map_offset - with open(path, 'rb') as f: - self.elf =3D ELFFile(f) - self.symbols =3D elf_func_symbols(self.elf) + self.symbols =3D get_symbols(self.fullpath) + find_symbols_locations(self.fullpath, self.symbols) =20 def path(self): return self.fullpath @@ -56,24 +83,31 @@ def addr_start(self): =20 def addr_end(self): last_sym =3D self.symbols[-1] - return symbol_addr(last_sym) + symbol_size(last_sym) + self.map_of= fset + return last_sym.addr + last_sym.size + self.map_offset =20 def generate_symbol_file(self, prefix_symbols): binary_name =3D os.path.basename(self.fullpath) - sym_file_path =3D f'./uftrace.data/{binary_name}.sym' + sym_file_path =3D os.path.join('uftrace.data', f'{binary_name}.sym= ') print(f'{sym_file_path} ({len(self.symbols)} symbols)') with open(sym_file_path, 'w') as sym_file: # print hexadecimal addresses on 48 bits addrx =3D "0>12x" for s in self.symbols: - addr =3D symbol_addr(s) + addr =3D s.addr addr =3D f'{addr:{addrx}}' - size =3D f'{symbol_size(s):{addrx}}' - name =3D symbol_name(s) + size =3D f'{s.size:{addrx}}' if prefix_symbols: - name =3D f'{binary_name}:{name}' + name =3D f'{binary_name}:{s.name}' print(addr, size, 'T', name, file=3Dsym_file) =20 + def generate_debug_file(self): + binary_name =3D os.path.basename(self.fullpath) + dbg_file_path =3D os.path.join('uftrace.data', f'{binary_name}.dbg= ') + with open(dbg_file_path, 'w') as dbg_file: + for s in self.symbols: + print(f'F: {hex(s.addr)} {s.name}', file=3Ddbg_file) + print(f'L: {s.line} {s.file}', file=3Ddbg_file) + def parse_parameter(p): s =3D p.split(":") path =3D s[0] @@ -84,7 +118,7 @@ def parse_parameter(p): offset =3D s[1] if not offset.startswith('0x'): err =3D f'offset "{offset}" is not an hexadecimal constant. ' - err +=3D 'It should starts with "0x".' + err +=3D 'It should start with "0x".' raise ValueError(err) offset =3D int(offset, 16) return path, offset @@ -97,7 +131,7 @@ def is_from_user_mode(map_file_path): return False =20 def generate_map(binaries): - map_file_path =3D './uftrace.data/sid-0.map' + map_file_path =3D os.path.join('uftrace.data', 'sid-0.map') =20 if is_from_user_mode(map_file_path): print(f'do not overwrite {map_file_path} generated from qemu-user') @@ -124,7 +158,8 @@ def generate_map(binaries): =20 def main(): parser =3D argparse.ArgumentParser(description=3D - 'generate symbol files for uftrace') + 'generate symbol files for uftrace. ' + 'Require binutils (nm and addr2line).= ') parser.add_argument('elf_file', nargs=3D'+', help=3D'path to an ELF file. ' 'Use /path/to/file:0xdeadbeef to add a mapping off= set.') @@ -133,8 +168,8 @@ def main(): action=3Dargparse.BooleanOptionalAction) args =3D parser.parse_args() =20 - if not os.path.exists('./uftrace.data'): - os.mkdir('./uftrace.data') + if not os.path.exists('uftrace.data'): + os.mkdir('uftrace.data') =20 binaries =3D [] for file in args.elf_file: @@ -145,6 +180,7 @@ def main(): =20 for b in binaries: b.generate_symbol_file(args.prefix_symbols) + b.generate_debug_file() =20 generate_map(binaries) =20 --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760957005; cv=none; d=zohomail.com; s=zohoarc; b=dPXtFMMzphUbUtFp3n5gQuF/L/8h2kthWvCeHg09P6XP0gvVsHNbDXGabDceFKpexk7iCtYNojVQBH49FTr1cLvJ2sNdA/biC+Y5SufxG/ZOWACBg+WRxpppwon38hmhJvUj3mbrcemF+/K3FnjoJgSzwGY+B1yFF07v35tHkIo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760957005; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HXw1SscUx+MXLaJBI0mjTbbWzaRi5EgFazzwVthoJSQ=; b=Kpk9WbpsUFFbvh+Y0MaRr1rNYoD74KoDuKtZECXrKL4ghpfTEwzb2pz8/bQH+717iv6d5cTYPNVpkas6mwDmO1dETw6/klr5pxbZGRoxlRzAGYcALefssqHhFkhwK9vJRU+5P+woFEZXdRMZhyxpaxk4A5HeV08eHRyJ8y6GH8s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 176095700579370.76063498309566; Mon, 20 Oct 2025 03:43:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnL2-0007aY-Ag; Mon, 20 Oct 2025 06:42:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnKz-0007Yv-Qi for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:01 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKx-0000hG-Hq for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:01 -0400 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-62fca01f0d9so8674059a12.3 for ; Mon, 20 Oct 2025 03:41:59 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b65ebf434f0sm748865066b.82.2025.10.20.03.41.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:54 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 5CF2D60D98; Mon, 20 Oct 2025 11:41:50 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956917; x=1761561717; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HXw1SscUx+MXLaJBI0mjTbbWzaRi5EgFazzwVthoJSQ=; b=NCEVImll5vI/o4bEffAJJL6SWdnsDVdtUzUT0IZuvbsibnLCbkwPOHett/5uVaSZeH MfSBspUd8TNTtaXFUPbpWMNVV7JwnDslv/0QyERQ9SNqXDgl4og3V2EM7YuICqU3Q73O a4WtAufhYv+gHUNwiFrjpSPKYTlBTDqvrlcdTgVNeSntcPtSNH6NrSiO3pNDRcWfc8qP fwDuQ2C4T0CN+5PgwvgvvTR6THpxEAKrGBxSuRTxHjbzYX9oQWQpRkJyqdwAD5vhJz3G f5ZFAEmR5aBeY+IH14wjmVoG0I80H3SfcQmlcd/HMxZSSzjlju8PH3QjZgY2U2jLOKc2 S0Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956917; x=1761561717; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HXw1SscUx+MXLaJBI0mjTbbWzaRi5EgFazzwVthoJSQ=; b=JOA8IR1ozzdKq0ch3WkHclRHD8yymyvhyzFcAlX3HwYkq1sCLnG6xaYkDxtsiy1rVC P2Lne7PLtFYcyVrqqcbCQahz/NlScFus2dCvfB9rVTLFkAQLy0csiChTNxeMFvr4qR9p g5sTIsQM/b31dw3uOV7eW4ZoVi8rWbp6rDP0gghRN/MtLpuVdB2o1jZH5Axxrsp1QNhs oD7+LRoUURIiG4jk9vNvMgWaEYAXLc/8R2F3MDYoj3GxldXx3OCpAw6qe/iwAygCFQ3m PrbMbeghg4JlKxwY61ck73Ff8OyBG/hDyIxZdcNyQljMXOHmAcLsNixGJGxwbx8IuQko 9fhg== X-Gm-Message-State: AOJu0YyyauKteKJmYi1VKstI0G1UyfApV5rzoq59jZEucL2JwlDb7U+R SqcB2l6Ai8gFPSstlpfx4S8b2cH24jARzti923H+japD4+NYRzFzUdGGBZpw3JdjZI8= X-Gm-Gg: ASbGncsIW6JTdgbNz7OmFdHVldtHS9LFt90ub7wC2GbHN/4cs8+M/jo2wXR8wbS9hQY vFXOmCn+nawPWBnbPoqdAFb0iDWSj/dKuQqk8kWA1+VamV0SHbVbjhHnBX6A6gYSRAT/Fxq+uxN 6uM/tQiUMgXCsBqD+WEBUxWFjQ9xCfCTmA66BNPBH0W7FiBa/96044E0XVo8H5k+d7opz472XQ7 AP5U/0KKj391gwpOVMZPsvo7bH4ZmnC1Z1J8E8cO97yLOXFBPsTdslOayBH6T1FNTDC6xmUap26 9PceyHPT5xfu0ntdmnvdj+iCxE/0q5JVjnScGf2rRJxpAIkNjrfaxwmpzSbC1yd99ICR6GruFc1 22qhmOFQ38FBF2zRGjclMOahH83P5XORJt6dg5i0fUG0lsvOMGBFR0cmca87DTIHqbNMzkK9SC7 M8XC9ma6yJ7oI= X-Google-Smtp-Source: AGHT+IFOPWMzOVmS+J+ogN5oE/tyavikzUZ4TCy31qq5WO+3y0n7TAgOJYkbD9PehL0tw13o/r3Avw== X-Received: by 2002:a17:907:9607:b0:b3e:26ae:7288 with SMTP id a640c23a62f3a-b6471d48331mr1417981966b.8.1760956917493; Mon, 20 Oct 2025 03:41:57 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Manos Pitsidianakis , John Levon , Thanos Makatos , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PULL 08/11] docs/system: split VirtIO devices from the rest Date: Mon, 20 Oct 2025 11:41:46 +0100 Message-ID: <20251020104149.4034124-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760957007837158500 In an effort to tidy up our device documentation split the VirtIO docs from the rest of the index and put the index to them at the front of the list. Sort the remaining entries alphabetically and tweak the references appropriately. Add a short preface to the VirtIO section nudging users to use VirtIO unless they specifically want a particular piece of hardware emulation. Reviewed-by: Manos Pitsidianakis Reviewed-by: John Levon Message-ID: <20251016150357.876415-9-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/docs/system/device-emulation.rst b/docs/system/device-emulatio= n.rst index 911381643f1..db714ad47aa 100644 --- a/docs/system/device-emulation.rst +++ b/docs/system/device-emulation.rst @@ -82,22 +82,18 @@ Emulated Devices .. toctree:: :maxdepth: 1 =20 + devices/virtio/index.rst + devices/can.rst + devices/canokey.rst devices/ccid.rst devices/cxl.rst - devices/vfio-user.rst - devices/ivshmem.rst + devices/igb.rst devices/ivshmem-flat.rst + devices/ivshmem.rst devices/keyboard.rst devices/net.rst devices/nvme.rst - devices/usb.rst - devices/vhost-user.rst - devices/virtio-gpu.rst - devices/virtio-pmem.rst - devices/virtio-snd.rst - devices/vhost-user-input.rst - devices/vhost-user-rng.rst - devices/canokey.rst devices/usb-u2f.rst - devices/igb.rst + devices/usb.rst + devices/vfio-user.rst diff --git a/docs/system/devices/vfio-user.rst b/docs/system/devices/vfio-u= ser.rst index b6dcaa5615e..30c2215f4ea 100644 --- a/docs/system/devices/vfio-user.rst +++ b/docs/system/devices/vfio-user.rst @@ -6,7 +6,7 @@ vfio-user =20 QEMU includes a ``vfio-user`` client. The ``vfio-user`` specification allo= ws for implementing (PCI) devices in userspace outside of QEMU; it is similar to -``vhost-user`` in this respect (see :doc:`vhost-user`), but can emulate ar= bitrary +``vhost-user`` in this respect (see :doc:`virtio/vhost-user`), but can emu= late arbitrary PCI devices, not just ``virtio``. Whereas ``vfio`` is handled by the host kernel, ``vfio-user``, while similar in implementation, is handled entirel= y in userspace. diff --git a/docs/system/devices/virtio/index.rst b/docs/system/devices/vir= tio/index.rst new file mode 100644 index 00000000000..fc457ca74c7 --- /dev/null +++ b/docs/system/devices/virtio/index.rst @@ -0,0 +1,30 @@ +VirtIO Devices +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +VirtIO devices are paravirtualized devices designed to be efficient to +emulate and virtualize. Unless you are specifically trying to exercise +a driver for some particular hardware they are the recommended device +models to use for virtual machines. + +The `VirtIO specification`_ is an open standard managed by OASIS. It +describes how a *driver* in a guest operating system interacts with +the *device* model provided by QEMU. Multiple Operating Systems +support drivers for VirtIO with Linux perhaps having the widest range +of device types supported. + +The device implementation can either be provided wholly by QEMU, or in +concert with the kernel (known as *vhost*). The device implementation +can also be off-loaded to an external process via :ref:`vhost user +`. + +.. toctree:: + :maxdepth: 1 + + virtio-gpu.rst + virtio-pmem.rst + virtio-snd.rst + vhost-user.rst + vhost-user-input.rst + vhost-user-rng.rst + +.. _VirtIO specification: https://docs.oasis-open.org/virtio/virtio/v1.3/v= irtio-v1.3.html diff --git a/docs/system/devices/vhost-user-input.rst b/docs/system/devices= /virtio/vhost-user-input.rst similarity index 100% rename from docs/system/devices/vhost-user-input.rst rename to docs/system/devices/virtio/vhost-user-input.rst diff --git a/docs/system/devices/vhost-user-rng.rst b/docs/system/devices/v= irtio/vhost-user-rng.rst similarity index 100% rename from docs/system/devices/vhost-user-rng.rst rename to docs/system/devices/virtio/vhost-user-rng.rst diff --git a/docs/system/devices/vhost-user.rst b/docs/system/devices/virti= o/vhost-user.rst similarity index 100% rename from docs/system/devices/vhost-user.rst rename to docs/system/devices/virtio/vhost-user.rst diff --git a/docs/system/devices/virtio-gpu.rst b/docs/system/devices/virti= o/virtio-gpu.rst similarity index 100% rename from docs/system/devices/virtio-gpu.rst rename to docs/system/devices/virtio/virtio-gpu.rst diff --git a/docs/system/devices/virtio-pmem.rst b/docs/system/devices/virt= io/virtio-pmem.rst similarity index 100% rename from docs/system/devices/virtio-pmem.rst rename to docs/system/devices/virtio/virtio-pmem.rst diff --git a/docs/system/devices/virtio-snd.rst b/docs/system/devices/virti= o/virtio-snd.rst similarity index 100% rename from docs/system/devices/virtio-snd.rst rename to docs/system/devices/virtio/virtio-snd.rst --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760956977; cv=none; d=zohomail.com; s=zohoarc; b=fJwdqFeARCesQ4YCYeSCsTabdiIzsZmzD9rtQeFV5sE+dW1mcHZM7k7wRQKgz9Pp07ntGoenfoTsVOVL0nYCdEhijQ2CjN/ACNDnqpFNxhwpMW+GD1HA2GQfsOaBx/6C3meKvjCSarqiPvOof0a1u6ydl11JPAasLF7UwpshyS4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760956977; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+lbXHfdqzd9K7rxlxVWnZ4xn8X5nG89zlTwjXtIzJDk=; b=lNhUdDvXbanCXVmbaA8KNrmArLkb5zakzcFusjs+iH4n3zEQRJSBk92XXFZCeC8mmQC6R2zxKtRoIJOmku2G51OYXMNOOYvoVQ5U3CJYolFUyNatp3ID+6PI0NlX5Hz20CjPbdiqsavSpnnt8aolpQ7nMRYhDaLaaXCK1xyfHl4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760956977565995.0378434855628; Mon, 20 Oct 2025 03:42:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnL4-0007b3-Ip; Mon, 20 Oct 2025 06:42:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnL0-0007Zi-8O for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:02 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKy-0000hY-Gr for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:01 -0400 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-63c12ff0c5eso8333935a12.0 for ; Mon, 20 Oct 2025 03:42:00 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63c4949beedsm6274158a12.40.2025.10.20.03.41.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:56 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 74FBC60E36; Mon, 20 Oct 2025 11:41:50 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956919; x=1761561719; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+lbXHfdqzd9K7rxlxVWnZ4xn8X5nG89zlTwjXtIzJDk=; b=XkLDa3OykhBAGTgP50yZRcKjU/dvQNrtAm6zt8AHLN1TUE3sYeQIFxN7w1ZO213Pfs s66kZVxJ52KJYYR1Nv7v2JHEoG2rXq5ehojKVUJT/Yt2nuOyHXcYxdMepl4YLcXLPvMB 4ydXDM0IQ1fYw4hkfnZa+CF4bd6wHTgxF1rKFJPHAia05sOFDruJWAdUsiY0dljsaSY+ EdwfXR908DiC7QtWUqeSWiLQqmxagLOOhFG0nnLFbNzLYnl68UQthvdqzKN//UiTEsGJ WOHVsQEJW/nXztimw8VHwkjjJGRunukwtil2sZXOp6qxAh31yyl/Hqbm9/XKwHycl6qN dJRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956919; x=1761561719; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+lbXHfdqzd9K7rxlxVWnZ4xn8X5nG89zlTwjXtIzJDk=; b=TTdYDSUoyNxGPHpdh5zGJiuyhYpm1goeT/1WdIIF8sxntstEr3yOYP+lUPXLpclIDe EZph3UOB626hpWfQYnIhLh8Q59hC2y/g2zwwXDk+tKAXJx72dVWP1ryq39OPPYUQmQka MtIEzdUSvIcwzcIgWJ8cMF6rXZ9IpedbKhdVoT44TWwRxUTen9HstXTcRW/2pWGIxaMo fYLplHZSPx/IfeKor1jgX9r9oJwOB5gPDAPM1fE5doJVxrD+b3WPQLzNlpcd3BwHfL20 G3R3iXQ7BWEkhEDQtyCR9dsnX4JucDX2BDOMkUWdDrRjAjXIoK+8Jpxqz/xv1lfa03hP 7DFg== X-Gm-Message-State: AOJu0YyV2jH3yEeF1mM1RSyWtxoP/TnojyfYt4QVm/2BT0PAJLTitJdP /oF2Uer64VBMEJBwyeYGwTrUkyC6uZiRKcLfGmp5oEttfmi8WRliZXf0UW4TK+DCsIQ= X-Gm-Gg: ASbGncv7q0gMlJTawBzjmrjUpPBIbrpRfhse/M7T26N5fF6xI8LFu41Ras4GPjEphkQ IHLdBE+uktyGEG3HJTCsY6/grvVkhaAN3l4g53KAoMH0uaN53W4XnG1jRjP44CkYfmKg9UiwsxM EKhSKB2uRs+wf7QWhfQQ2wQwNnARbiMyjPOCf+7hnEPi0NXHYBM0kqQYlPgbe2nXNTKdQchTClM UnV2ZHrsfh10pvI32ZcIYPI4kY6zdx93KsDZKExzICsps8EJvAkM0vlRue7bkfMyB6v7abYHPnP dq9rjyQ8EP659yk02wMYG/krJzStRlnTDUZXZGFO1oay6idJfkY0DVSGtWbPAXFA5jU9VExE47M 3jVTsAXmwKNuK+f8m9zyVy6f1msSLHbAq246Sp0BiDL+AWXd5a3aurCA5kx8N3ERY5M3G1W8Mdk 52 X-Google-Smtp-Source: AGHT+IHQGr4kuBjL3pC/m7hWbqT79ZQqUVVX4ZUoJWJpMSPg/qqKGhBDgWmmiEO9PcWNSZtlntvlGA== X-Received: by 2002:a05:6402:5c8:b0:63b:ee76:3f63 with SMTP id 4fb4d7f45d1cf-63c1e1f21c4mr12906999a12.7.1760956918861; Mon, 20 Oct 2025 03:41:58 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , John Levon Subject: [PULL 09/11] docs/system: unify the naming style for VirtIO devices Date: Mon, 20 Oct 2025 11:41:47 +0100 Message-ID: <20251020104149.4034124-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::532; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x532.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760956979473158500 This makes the index look a little neater. Reviewed-by: John Levon Message-ID: <20251016150357.876415-10-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/docs/system/devices/virtio/virtio-gpu.rst b/docs/system/device= s/virtio/virtio-gpu.rst index b7eb0fc0e72..39d2fd2d21c 100644 --- a/docs/system/devices/virtio/virtio-gpu.rst +++ b/docs/system/devices/virtio/virtio-gpu.rst @@ -1,7 +1,7 @@ .. SPDX-License-Identifier: GPL-2.0-or-later =20 -virtio-gpu +VirtIO GPU =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 This document explains the setup and usage of the virtio-gpu device. diff --git a/docs/system/devices/virtio/virtio-pmem.rst b/docs/system/devic= es/virtio/virtio-pmem.rst index c82ac067315..0c24de83ec7 100644 --- a/docs/system/devices/virtio/virtio-pmem.rst +++ b/docs/system/devices/virtio/virtio-pmem.rst @@ -1,7 +1,5 @@ - -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -virtio pmem -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +VirtIO Persistent Memory +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 This document explains the setup and usage of the virtio pmem device. The virtio pmem device is a paravirtualized persistent memory device diff --git a/docs/system/devices/virtio/virtio-snd.rst b/docs/system/device= s/virtio/virtio-snd.rst index 2a9187fd701..3c797f66e03 100644 --- a/docs/system/devices/virtio/virtio-snd.rst +++ b/docs/system/devices/virtio/virtio-snd.rst @@ -1,4 +1,4 @@ -virtio sound +VirtIO Sound =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 This document explains the setup and usage of the Virtio sound device. --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760956966; cv=none; d=zohomail.com; s=zohoarc; b=XVj4KZStyrnPEbsuEq9WfJfuR7NXgAuwrnjIQEY3QPzAbfepYn0aem2uNVP1kH5Mn+K9nkszapUZ46/G3S+E2h0InZZRTRFX+lpWIGAIJvuKbgbBR9m0sIz+q7a02kMoLEpvGUhB6T+4ei50td+/zO1tk1i8ru0oKXJAZDu0JRU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760956966; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ydvpStcClyPSWRWFnDHV/azJ9U5xbq4jo7q2l9XHJfs=; b=fLTC+XLtzdpHbeG0R2dh01/EJl7iVHsTsAMPL3bxm8T6Oj4m+M50CAviF4oqn7zLWvGOmLr4cOYqcKr/ze2YqmO9N0AhrKjDFOVDRNlpzAh2ND+CAGPXlmmMOrG2JRg4HH1Win8e5BqtYXh9zsn7059c+P8YZCUPzKw4HH8RGBI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760956966817863.0838548740616; Mon, 20 Oct 2025 03:42:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnL7-0007dF-VD; Mon, 20 Oct 2025 06:42:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnL3-0007ah-71 for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:05 -0400 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnL0-0000i5-Ii for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:04 -0400 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-63c489f1e6cso3671697a12.1 for ; Mon, 20 Oct 2025 03:42:02 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63c4943027fsm6453551a12.26.2025.10.20.03.41.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:56 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 8F8E560F0D; Mon, 20 Oct 2025 11:41:50 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956921; x=1761561721; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ydvpStcClyPSWRWFnDHV/azJ9U5xbq4jo7q2l9XHJfs=; b=YXgFx1a3WHzuV8T1wb1cRmZ/0U40sQatWx/dkWcugl4qguI/MooR1yWWwgdTellDFg k8YV+AQbr/XoXCJVdRIBRbWerFnrjtxvrsXus5PSpREQXYxV4aa1MnGtgT5mOwKprgrT ZWpNuUkD0XVuBzLLFoCFaMv+jsIrwzSGpIRSApKIaeYCTNmtbob/Wor/rY345ZSrIhc2 nHoCIiaZXfEI91HIBl5fo4qMBrQWd6QYF+OxGi9Heh5/Uj9nAfD9T10xiVG0UlNLaJVM pLWDnmV2NUYeEtGcFysJaAdr7YaB+4swxZnT9B4YtpWT0I3FbL1ydRfFLr0mPODHV05S yINw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956921; x=1761561721; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ydvpStcClyPSWRWFnDHV/azJ9U5xbq4jo7q2l9XHJfs=; b=Qf4Wl4Gqohb0vuhWYoWVAWLbuyaB6ESlBBT/OqFoipHl8N889oeILH9Jq429cx+LN5 E2tQtGNsoodzwsSLU2MJCGM+ZIvj2cFcVK1fQUGcUeMca+hmgTWaNNzkvdxAtJ3DZRBU amrUa4Ht+mx2iVrkHyGTSfJpmmFCpXJcguPIl7OLKG2G1Ms3xvFM3qOxoup6clm5liKt AQdRBgVbI8dBckVFYTm35b2Rw7oIg5W4ym8F8Gtkrm29hawVbDOYqKum1nLT40szun+7 4F/9U5A/jp4rcrLThH4xHVex8QWHxCbyNoEZ4uxxSzii/BfLAuyRvF0Pqzkl4hlQya/M iJGQ== X-Gm-Message-State: AOJu0YxBWFdnIQo7s5h4qu5cnlGkXpSJSl6tZuGkbh40EGr2roU5+fm9 Rli0AQfTS13/9L7DGLbMiVUK2PxLhPr5UwwCCED8CKhl0JnveMbOAgo3oYXklqGAsgk= X-Gm-Gg: ASbGncvOEsMmmXmmMrH7jCQ8xahuYJ68qSv4AGvJcaOYNRhX947JEv9x71GSPNw2fY+ fDKiGrP7maWNmnk8c9+h8ozcsoNNm4EBUUoHOQLoYn+GX07346gflGnqkjEMNRU0DF3f77I9LAS 0w5qNoZ9zTKweiTnCytyBu8RfynQ82iP/eJ0Xn2ws6gOVrkbUYYonXXSltOVOCWmvN6AGzBKLsj IQLWuxD8MpPbHNPksyQ+GooeqXqRe1itevOT7vPBgx7Yh0Xbu1P6J0oYF1PCWyvLBomUHv0oJQL DmSTWgluqVynM3yuWqb/nNNShXRJuhl/AWrFr2Az7mzlANb4fMuxUdndCpefK5kSPkR8jl2cWBl U8YL0ZVBsnnnNmEzpgsh8A3bV0OmqGPua/f7X/t/JmOyvVTwu8Utv0mZshqaSVP8AcXUG4sgDzz WL X-Google-Smtp-Source: AGHT+IHBjoqH/oMIeP15C4mp2VcbRcUOt4S6gHFA0taYgTTIfT3CJtZnLOaBv8bLJPQuWhnNQlLHYw== X-Received: by 2002:a05:6402:34d3:b0:63c:5892:3c3a with SMTP id 4fb4d7f45d1cf-63c5892407bmr6423318a12.13.1760956920776; Mon, 20 Oct 2025 03:42:00 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , John Levon Subject: [PULL 10/11] docs/system: drop vhost-user-rng docs Date: Mon, 20 Oct 2025 11:41:48 +0100 Message-ID: <20251020104149.4034124-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52d; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760956969358158500 This is a fairly lightweight document which doesn't add much to the general advice in vhost-user. Update the vhost-user docs to point directly at the rust-vmm repo. Reviewed-by: John Levon Message-ID: <20251016150357.876415-11-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/docs/system/devices/virtio/index.rst b/docs/system/devices/vir= tio/index.rst index fc457ca74c7..e3839e61824 100644 --- a/docs/system/devices/virtio/index.rst +++ b/docs/system/devices/virtio/index.rst @@ -25,6 +25,5 @@ can also be off-loaded to an external process via :ref:`v= host user virtio-snd.rst vhost-user.rst vhost-user-input.rst - vhost-user-rng.rst =20 .. _VirtIO specification: https://docs.oasis-open.org/virtio/virtio/v1.3/v= irtio-v1.3.html diff --git a/docs/system/devices/virtio/vhost-user-rng.rst b/docs/system/de= vices/virtio/vhost-user-rng.rst deleted file mode 100644 index ead14053264..00000000000 --- a/docs/system/devices/virtio/vhost-user-rng.rst +++ /dev/null @@ -1,41 +0,0 @@ -.. _vhost_user_rng: - -QEMU vhost-user-rng - RNG emulation -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -Background ----------- - -What follows builds on the material presented in vhost-user.rst - it should -be reviewed before moving forward with the content in this file. - -Description ------------ - -The vhost-user-rng device implementation was designed to work with a random -number generator daemon such as the one found in the vhost-device crate of -the rust-vmm project available on github [1]. - -[1]. https://github.com/rust-vmm/vhost-device - -Examples --------- - -The daemon should be started first: - -:: - - host# vhost-device-rng --socket-path=3Drng.sock -c 1 -m 512 -p 1000 - -The QEMU invocation needs to create a chardev socket the device can -use to communicate as well as share the guests memory over a memfd. - -:: - - host# qemu-system \ - -chardev socket,path=3D$(PATH)/rng.sock,id=3Drng0 \ - -device vhost-user-rng-pci,chardev=3Drng0 \ - -m 4096 \ - -object memory-backend-file,id=3Dmem,size=3D4G,mem-path=3D/dev/shm,s= hare=3Don \ - -numa node,memdev=3Dmem \ - ... diff --git a/docs/system/devices/virtio/vhost-user.rst b/docs/system/device= s/virtio/vhost-user.rst index bddf8df5ed5..9c9a28df380 100644 --- a/docs/system/devices/virtio/vhost-user.rst +++ b/docs/system/devices/virtio/vhost-user.rst @@ -45,7 +45,7 @@ platform details for what sort of virtio bus to use. - :ref:`vhost_user_input` * - vhost-user-rng - Entropy driver - - :ref:`vhost_user_rng` + - See https://github.com/rust-vmm/vhost-device * - vhost-user-scmi - System Control and Management Interface - See https://github.com/rust-vmm/vhost-device --=20 2.47.3 From nobody Fri Nov 14 16:50:38 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1760956975; cv=none; d=zohomail.com; s=zohoarc; b=R4nvZ1mg/g+cA9L9xx/ZSnHgs9lpu3eUMWns8sUc41IVjCsTVvPB9Kw4kQb7XM48461w/9/qnqV4SdBVLtNiqTJi3M2PmauBPvSySyMbbwQ1AOxzMSuYrzsyoIvwU8IerfibxjBjdZy1OZP8Ngp/ags8UQxgIYdAg1wY/8yTobg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760956975; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=FDlmq3nCvS9URXDE65YY6VgZudJg1dxtSBT7JyGkZ8g=; b=ijiervm49pdVHoMi+vyDxJALL79TP8kbYRLcrng8wCxFDn+3ONw9My7bvLi9HyOIBYrhVc/JdBs4CWq5FQN36Ufy65N2hLmrXD2iACpqvsBnwIu4EUVGf++VnoelD0OC6zEkG5oUSSbACLj5jQ5bGSeRlvjvM19Ueht/alG8g7Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760956975509348.70605749469985; Mon, 20 Oct 2025 03:42:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vAnL5-0007cf-4O; Mon, 20 Oct 2025 06:42:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vAnL2-0007aX-8s for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:04 -0400 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vAnKz-0000i0-Or for qemu-devel@nongnu.org; Mon, 20 Oct 2025 06:42:03 -0400 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-63c4c346bd9so3735324a12.0 for ; Mon, 20 Oct 2025 03:42:01 -0700 (PDT) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63c4945f003sm6492315a12.27.2025.10.20.03.41.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Oct 2025 03:41:56 -0700 (PDT) Received: from draig.lan (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id AAEED60F3D; Mon, 20 Oct 2025 11:41:50 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760956920; x=1761561720; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FDlmq3nCvS9URXDE65YY6VgZudJg1dxtSBT7JyGkZ8g=; b=AE7uhy3aw41/ckN4k9ajFEopZ+AeM0Cm9uBuv1fJ7eBXnUKZWiw+JXbIrntl/nEGm6 0ar+IzsHKI5BKT9e9hV9s9tt0l2ibcChzCAPuRj2mZC5ZQLa6k7l//469Ud79F1+T7IM ATIRHLCWWd9Dx9xMSlLW7BrRIxsFJbY1F7VbkePgHPXZjMWvopscgPtaG4aJA+yAcbOl 4W4Ulc9CiVhoe3W6jXSv1fl4s8G4xTdsJFUEOaWxBRwKJED7MMEKVyseuurH4a27RLbp rbxxda9B63P+j8tXrQjKwcpcMI796zNEFzHfKLVnI9VLu7jD4Nm1Z6jDTSrgOqSrQoCe Qbrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760956920; x=1761561720; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FDlmq3nCvS9URXDE65YY6VgZudJg1dxtSBT7JyGkZ8g=; b=YYwY0g0U+oALyGNuxsHlHPoOK1OkqRMCTKMlUrdB7ZG0+BMfbZOxoc1n78CNDzeRJu tDZK3hqwodbDdjqdsjUTxJuYlmE4Ssn9LaRUyim0s1BzL7KEzWKksb2t+4+A6aDSkwAs /BliGkmbpcRwon3b/kH/XgAMffsWdCEsLAlq4YOoD5NZ6Vl/eOD8ks1hDfnacDvI7L+B TYQXtOwVyAWa5KHNVDZLAYM/Dwa4d+rb58PrQ1tTKsMCULK2KGOdVc1i75f9neirmcOg c6dkowTdcRRO7DYIpFPNNRDpi7Wx92DKznXsbfJkaCPr1zXymTdbL50wsnhCPpLS2G3+ YGjA== X-Gm-Message-State: AOJu0YxZ0bfhn6XkH/ZWHgBizfn8X1ligvkZieDfSIGJaERTUX5OUNkX 5IhAJNnOjXX3dxuItfqf8u2BLYF8V6l60RoU5dOyNVnsOUADlcbSQxp9gKn9XnZXUJ6RtB5AqMZ Ab8AR5cc= X-Gm-Gg: ASbGncuaE/ZDmQO2DzM+1rwOffBWoEMjp6ubCJwr+HEuj8jclSDAMrg6byOWt+O1lfQ Vj2cvr3hmBn3THdnPD/JhVReWM1cKdU184Tdh0YnP3KNJWIsrqH+B42bt8GzhCqUyILzNGxw8ki cUQVAczd8hu1UKhmm4FBg87baifQvFG5Jnz29hjUXJUV+d/hjbGlR7FKGIbz71q9pQRU+XI5D5R cnL3DOMCIlXGDXn/qrnGhgEZFCeGKKk9V0iUaMBG+guB8rvpKQ/NnZtyknhVroSIzx2X0C362ZA gLgePv8Wb1Zn7ryyxx0j3VWEOs8rQ2ZIRZnLnJdXH7NedVXOpJlcBtaHoADLszqY6ky7I2kdowx kYcn5wW1NekTQn5vQBmyecqthk5ZknunLAryDij5WAN70O53XjR5qLLUuvszuYMT4vAysP/jDxV toZRWAhEvXf54= X-Google-Smtp-Source: AGHT+IHBiANNBrzWbgHQBzxXh/IgCzw4+7h2aVx37yyYFgkk8tybiRgghshCfBi107aij5+5jLAaOg== X-Received: by 2002:a05:6402:4407:b0:63c:eb9:4778 with SMTP id 4fb4d7f45d1cf-63c1f626e36mr11612434a12.1.1760956919876; Mon, 20 Oct 2025 03:41:59 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Manos Pitsidianakis Subject: [PULL 11/11] docs/system: merge vhost-user-input into vhost-user-contrib Date: Mon, 20 Oct 2025 11:41:49 +0100 Message-ID: <20251020104149.4034124-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251020104149.4034124-1-alex.bennee@linaro.org> References: <20251020104149.4034124-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52b; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x52b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1760956976694154100 We might as well group all the contrib submissions together and gently dissuade people from using them in production. Update the references in vhost-user to neatly refer to the storage daemon and the various external rust backends. Reviewed-by: Manos Pitsidianakis Message-ID: <20251016150357.876415-12-alex.bennee@linaro.org> Signed-off-by: Alex Benn=C3=A9e diff --git a/docs/system/devices/virtio/index.rst b/docs/system/devices/vir= tio/index.rst index e3839e61824..c292101ade6 100644 --- a/docs/system/devices/virtio/index.rst +++ b/docs/system/devices/virtio/index.rst @@ -24,6 +24,6 @@ can also be off-loaded to an external process via :ref:`v= host user virtio-pmem.rst virtio-snd.rst vhost-user.rst - vhost-user-input.rst + vhost-user-contrib.rst =20 .. _VirtIO specification: https://docs.oasis-open.org/virtio/virtio/v1.3/v= irtio-v1.3.html diff --git a/docs/system/devices/virtio/vhost-user-contrib.rst b/docs/syste= m/devices/virtio/vhost-user-contrib.rst new file mode 100644 index 00000000000..48d04d2ade3 --- /dev/null +++ b/docs/system/devices/virtio/vhost-user-contrib.rst @@ -0,0 +1,87 @@ +vhost-user daemons in contrib +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +QEMU provides a number of :ref:`vhost_user` daemons in the contrib +directory. They were often written when vhost-user was initially added +to the code base. You should also consider if other vhost-user daemons +such as those from the rust-vmm `vhost-device repository`_ are better +suited for production use. + +.. _vhost-device repository: https://github.com/rust-vmm/vhost-device + +.. _vhost_user_block: + +vhost-user-block - block device +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D + +vhost-user-block is a backend for exposing block devices. It can +present a flat file or block device as a simple block device to the +guest. You almost certainly want to use the :ref:`storage-daemon` +instead which supports a wide variety of storage modes and exports a +number of interfaces including vhost-user. + +.. _vhost_user_gpu: + +vhost-user-gpu - gpu device +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D + +vhost-user-gpu presents a paravirtualized GPU and display controller. +You probably want to use the internal :ref:`virtio_gpu` implementation +if you want the latest features. There is also a `vhost_device_gpu`_ +daemon as part of the rust-vmm project. + +.. _vhost_device_gpu: https://github.com/rust-vmm/vhost-device/tree/main/v= host-device-gpu + +.. _vhost_user_input: + +vhost-user-input - Input emulation +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +The Virtio input device is a paravirtualized device for input events. + +Description +----------- + +The vhost-user-input device implementation was designed to work with a dae= mon +polling on input devices and passes input events to the guest. + +QEMU provides a backend implementation in contrib/vhost-user-input. + +Linux kernel support +-------------------- + +Virtio input requires a guest Linux kernel built with the +``CONFIG_VIRTIO_INPUT`` option. + +Examples +-------- + +The backend daemon should be started first: + +:: + + host# vhost-user-input --socket-path=3Dinput.sock \ + --evdev-path=3D/dev/input/event17 + +The QEMU invocation needs to create a chardev socket to communicate with t= he +backend daemon and access the VirtIO queues with the guest over the +:ref:`shared memory `. + +:: + + host# qemu-system \ + -chardev socket,path=3D/tmp/input.sock,id=3Dmouse0 \ + -device vhost-user-input-pci,chardev=3Dmouse0 \ + -m 4096 \ + -object memory-backend-file,id=3Dmem,size=3D4G,mem-path=3D/dev/shm,s= hare=3Don \ + -numa node,memdev=3Dmem \ + ... + + +.. _vhost_user_scsi: + +vhost-user-scsi - SCSI controller +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D + +The vhost-user-scsi daemon can proxy iSCSI devices onto a virtualized +SCSI controller. diff --git a/docs/system/devices/virtio/vhost-user-input.rst b/docs/system/= devices/virtio/vhost-user-input.rst deleted file mode 100644 index 118eb78101c..00000000000 --- a/docs/system/devices/virtio/vhost-user-input.rst +++ /dev/null @@ -1,45 +0,0 @@ -.. _vhost_user_input: - -QEMU vhost-user-input - Input emulation -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -This document describes the setup and usage of the Virtio input device. -The Virtio input device is a paravirtualized device for input events. - -Description ------------ - -The vhost-user-input device implementation was designed to work with a dae= mon -polling on input devices and passes input events to the guest. - -QEMU provides a backend implementation in contrib/vhost-user-input. - -Linux kernel support --------------------- - -Virtio input requires a guest Linux kernel built with the -``CONFIG_VIRTIO_INPUT`` option. - -Examples --------- - -The backend daemon should be started first: - -:: - - host# vhost-user-input --socket-path=3Dinput.sock \ - --evdev-path=3D/dev/input/event17 - -The QEMU invocation needs to create a chardev socket to communicate with t= he -backend daemon and access the VirtIO queues with the guest over the -:ref:`shared memory `. - -:: - - host# qemu-system \ - -chardev socket,path=3D/tmp/input.sock,id=3Dmouse0 \ - -device vhost-user-input-pci,chardev=3Dmouse0 \ - -m 4096 \ - -object memory-backend-file,id=3Dmem,size=3D4G,mem-path=3D/dev/shm,s= hare=3Don \ - -numa node,memdev=3Dmem \ - ... diff --git a/docs/system/devices/virtio/vhost-user.rst b/docs/system/device= s/virtio/vhost-user.rst index 9c9a28df380..f556a840e99 100644 --- a/docs/system/devices/virtio/vhost-user.rst +++ b/docs/system/devices/virtio/vhost-user.rst @@ -27,37 +27,37 @@ platform details for what sort of virtio bus to use. - Notes * - vhost-user-blk - Block storage - - See contrib/vhost-user-blk + - :ref:`storage-daemon` * - vhost-user-fs - File based storage driver - - See https://gitlab.com/virtio-fs/virtiofsd + - `virtiofsd `_ * - vhost-user-gpio - Proxy gpio pins to host - - See https://github.com/rust-vmm/vhost-device + - `vhost-device-gpio `_ * - vhost-user-gpu - GPU driver - - See contrib/vhost-user-gpu + - `vhost-device-gpu `_ or :ref:`vhost_user_gpu` * - vhost-user-i2c - Proxy i2c devices to host - - See https://github.com/rust-vmm/vhost-device + - `vhost-device-i2c `_ * - vhost-user-input - Generic input driver - - :ref:`vhost_user_input` + - `vhost-device-input `_ or :ref:`vhost_user_input` * - vhost-user-rng - Entropy driver - - See https://github.com/rust-vmm/vhost-device + - `vhost-device-rng `_ * - vhost-user-scmi - System Control and Management Interface - - See https://github.com/rust-vmm/vhost-device + - `vhost-device-scmi `_ * - vhost-user-snd - Audio device - - See https://github.com/rust-vmm/vhost-device/staging + - `vhost-device-sound `_ * - vhost-user-scsi - SCSI based storage - - See contrib/vhost-user-scsi + - :ref:`vhost_user_scsi` * - vhost-user-vsock - Socket based communication - - See https://github.com/rust-vmm/vhost-device + - `vhost-device-vsock `_ =20 The referenced *daemons* are not exhaustive, any conforming backend implementing the device and using the vhost-user protocol should work. diff --git a/docs/system/devices/virtio/virtio-gpu.rst b/docs/system/device= s/virtio/virtio-gpu.rst index 39d2fd2d21c..0f4bb304a9b 100644 --- a/docs/system/devices/virtio/virtio-gpu.rst +++ b/docs/system/devices/virtio/virtio-gpu.rst @@ -1,6 +1,8 @@ .. SPDX-License-Identifier: GPL-2.0-or-later =20 +.. _virtio_gpu: + VirtIO GPU =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 --=20 2.47.3