From nobody Mon Feb 9 15:52:36 2026 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=1647609926; cv=none; d=zohomail.com; s=zohoarc; b=WSiBtsgksFRbGNH2W8+DWvVCVa5yype8RVVtqZm3aBlssczM0oGwJ84QC7BuIEgg2Cjg8JcoFF3Rv+XjmZlheBxVx9Naeo+Un0AhHZivrdaTIM5/aLdqWqdu5/Cluz/z6j+DfzSbCTM1q2Ul2cvInlagMHUsg98N632IYzQtph8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647609926; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sZcL+Wbj6slBsTzTO2VnzoIMTdTpCTOv2c0DRnm/DMk=; b=ezuB2vPI5YIgcSk3qCEQiW9w8sWJSBnCdMfKWaJ+zZEubMr91uVIrmBWOt6rLcjzsi0BrIloRVC7crqW6uXThwYea1gkXmOMvLdJADAn/N/1F0I+Te3ggJScBYfKkdoBkCwVm/advSGtX9Z+Vg+XYpi9HtjmqCl2XjULEwBGQuM= 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 1647609926600957.7041547130585; Fri, 18 Mar 2022 06:25:26 -0700 (PDT) Received: from localhost ([::1]:52306 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCbd-0000QE-Fb for importer@patchew.org; Fri, 18 Mar 2022 09:25:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45972) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZX-00065W-Gz for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:15 -0400 Received: from [2a00:1450:4864:20::42e] (port=33498 helo=mail-wr1-x42e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZV-0002AA-Ft for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:15 -0400 Received: by mail-wr1-x42e.google.com with SMTP id q8so375064wrc.0 for ; Fri, 18 Mar 2022 06:23:13 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=sZcL+Wbj6slBsTzTO2VnzoIMTdTpCTOv2c0DRnm/DMk=; b=W6z2TYK0zbETR2UpVmVS9zpyUfTBhJG5XpzZhLispiIp/JFVFC2SRuKsjoN7yWq2o0 h+5fhjCAqHAxPR+N4inVN0N97OIKxOnzWkPufJ70qAQFkyJ/32/+zWbBiR0jmde2SN9O 9uMvigBSrHWGvGCoAoDAG4MhV1t7/UjYcIVN7EHMhBR6GFy2aBaihiCjKKzdKq16Voxy EWkNf4AtPKyk6agkeozErGo0CAYkWjZbr/aaVEHvXN1mUMZWwgfyfJUl8ymGfVzjPiP5 1y52v4BHThgYQ9OpTpEJgOnZoDt/Tt5exj1eHIX6vffgguUJd68t+qTQRlvtYi9U6P2O gH2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sZcL+Wbj6slBsTzTO2VnzoIMTdTpCTOv2c0DRnm/DMk=; b=zaMbHWBzahEDul5YCUS4LUba3YvpHYwk3dgsd0tq4yHdnO2Dp1VQn69wzURkDfF639 bOywM+pb7Y/kqspHN3IAUT3fP5ZXzwPbTpjpFqbgXj7xrl1BuZIWGIi5sfDOR78Tx0+R j2EXA8VLgLNDboAapwuLmlIaSO4vpvv8oAKK8lVh+40tl1Q5YBBfOjtqm1kf5sYH22bY HgYuv9tpkDaygVbKxsJWb/7YzijyNloL0wdiq8g1Yf0AHodcgPFHg6Et2bc3VJA4Cxe2 XA1mn7cVnb4CFh8/0tk/vqJsA1VCw/Y3Ssa6N0uwAtGnBMqQE8tHW1Aj2DzcEgEta861 uqjA== X-Gm-Message-State: AOAM532xvhdQcLEHyeKqpIm+0sfXyIawqL5rdR9r6eO1Ca4x7THRNgMv SmcH4htkTcbD5P6WWDCm4tSCcYp0A3pedw== X-Google-Smtp-Source: ABdhPJxAXW6pfMY3LMAeOaEvElquZJrAFP++VB17JKlS6h26N4/EAmM3NN1WxCDwtkQt1q736iSsZA== X-Received: by 2002:a5d:47a7:0:b0:203:d1b4:8f6 with SMTP id 7-20020a5d47a7000000b00203d1b408f6mr8346983wrb.36.1647609792104; Fri, 18 Mar 2022 06:23:12 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/21] target/arm: Fix sve2 ldnt1 and stnt1 Date: Fri, 18 Mar 2022 13:22:46 +0000 Message-Id: <20220318132306.3254960-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42e (failed) 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::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647609928518100001 Content-Type: text/plain; charset="utf-8" From: Richard Henderson For both ldnt1 and stnt1, the meaning of the Rn and Rm are different from ld1 and st1: the vector and integer registers are reversed, and the integer register 31 refers to XZR instead of SP. Secondly, the 64-bit version of ldnt1 was being interpreted as 32-bit unpacked unscaled offset instead of 64-bit unscaled offset, which discarded the upper 32 bits of the address coming from the vector argument. Thirdly, validate that the memory element size is in range for the vector element size for ldnt1. For ld1, we do this via independent decode patterns, but for ldnt1 we need to do it manually. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/826 Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20220308031655.240710-1-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/sve.decode | 5 ++- target/arm/translate-sve.c | 51 +++++++++++++++++++++++++++++-- tests/tcg/aarch64/test-826.c | 50 ++++++++++++++++++++++++++++++ tests/tcg/aarch64/Makefile.target | 4 +++ tests/tcg/configure.sh | 4 +++ 5 files changed, 109 insertions(+), 5 deletions(-) create mode 100644 tests/tcg/aarch64/test-826.c diff --git a/target/arm/sve.decode b/target/arm/sve.decode index c60b9f0fec5..0388cce3bd9 100644 --- a/target/arm/sve.decode +++ b/target/arm/sve.decode @@ -1575,10 +1575,9 @@ USDOT_zzzz 01000100 .. 0 ..... 011 110 ..... ..= ... @rda_rn_rm =20 ### SVE2 Memory Gather Load Group =20 -# SVE2 64-bit gather non-temporal load -# (scalar plus unpacked 32-bit unscaled offsets) +# SVE2 64-bit gather non-temporal load (scalar plus 64-bit unscaled offset= s) LDNT1_zprz 1100010 msz:2 00 rm:5 1 u:1 0 pg:3 rn:5 rd:5 \ - &rprr_gather_load xs=3D0 esz=3D3 scale=3D0 ff=3D0 + &rprr_gather_load xs=3D2 esz=3D3 scale=3D0 ff=3D0 =20 # SVE2 32-bit gather non-temporal load (scalar plus 32-bit unscaled offset= s) LDNT1_zprz 1000010 msz:2 00 rm:5 10 u:1 pg:3 rn:5 rd:5 \ diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index 33ca1bcfac3..2c23459e768 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -6487,10 +6487,33 @@ static bool trans_LD1_zpiz(DisasContext *s, arg_LD1= _zpiz *a) =20 static bool trans_LDNT1_zprz(DisasContext *s, arg_LD1_zprz *a) { + gen_helper_gvec_mem_scatter *fn =3D NULL; + bool be =3D s->be_data =3D=3D MO_BE; + bool mte =3D s->mte_active[0]; + + if (a->esz < a->msz + !a->u) { + return false; + } if (!dc_isar_feature(aa64_sve2, s)) { return false; } - return trans_LD1_zprz(s, a); + if (!sve_access_check(s)) { + return true; + } + + switch (a->esz) { + case MO_32: + fn =3D gather_load_fn32[mte][be][0][0][a->u][a->msz]; + break; + case MO_64: + fn =3D gather_load_fn64[mte][be][0][2][a->u][a->msz]; + break; + } + assert(fn !=3D NULL); + + do_mem_zpz(s, a->rd, a->pg, a->rn, 0, + cpu_reg(s, a->rm), a->msz, false, fn); + return true; } =20 /* Indexed by [mte][be][xs][msz]. */ @@ -6647,10 +6670,34 @@ static bool trans_ST1_zpiz(DisasContext *s, arg_ST1= _zpiz *a) =20 static bool trans_STNT1_zprz(DisasContext *s, arg_ST1_zprz *a) { + gen_helper_gvec_mem_scatter *fn; + bool be =3D s->be_data =3D=3D MO_BE; + bool mte =3D s->mte_active[0]; + + if (a->esz < a->msz) { + return false; + } if (!dc_isar_feature(aa64_sve2, s)) { return false; } - return trans_ST1_zprz(s, a); + if (!sve_access_check(s)) { + return true; + } + + switch (a->esz) { + case MO_32: + fn =3D scatter_store_fn32[mte][be][0][a->msz]; + break; + case MO_64: + fn =3D scatter_store_fn64[mte][be][2][a->msz]; + break; + default: + g_assert_not_reached(); + } + + do_mem_zpz(s, a->rd, a->pg, a->rn, 0, + cpu_reg(s, a->rm), a->msz, true, fn); + return true; } =20 /* diff --git a/tests/tcg/aarch64/test-826.c b/tests/tcg/aarch64/test-826.c new file mode 100644 index 00000000000..f59740a8c50 --- /dev/null +++ b/tests/tcg/aarch64/test-826.c @@ -0,0 +1,50 @@ +#include +#include +#include +#include +#include +#include + +static void *expected; + +void sigsegv(int sig, siginfo_t *info, void *vuc) +{ + ucontext_t *uc =3D vuc; + + assert(info->si_addr =3D=3D expected); + uc->uc_mcontext.pc +=3D 4; +} + +int main() +{ + struct sigaction sa =3D { + .sa_sigaction =3D sigsegv, + .sa_flags =3D SA_SIGINFO + }; + + void *page; + long ofs; + + if (sigaction(SIGSEGV, &sa, NULL) < 0) { + perror("sigaction"); + return EXIT_FAILURE; + } + + page =3D mmap(0, getpagesize(), PROT_NONE, MAP_PRIVATE | MAP_ANON, -1,= 0); + if (page =3D=3D MAP_FAILED) { + perror("mmap"); + return EXIT_FAILURE; + } + + ofs =3D 0x124; + expected =3D page + ofs; + + asm("ptrue p0.d, vl1\n\t" + "dup z0.d, %0\n\t" + "ldnt1h {z1.d}, p0/z, [z0.d, %1]\n\t" + "dup z1.d, %1\n\t" + "ldnt1h {z0.d}, p0/z, [z1.d, %0]" + : : "r"(page), "r"(ofs) : "v0", "v1"); + + return EXIT_SUCCESS; +} diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile= .target index ac07acde66d..f7121cb4d88 100644 --- a/tests/tcg/aarch64/Makefile.target +++ b/tests/tcg/aarch64/Makefile.target @@ -86,7 +86,11 @@ run-gdbstub-sve-ioctls: sve-ioctls =20 EXTRA_RUNS +=3D run-gdbstub-sysregs run-gdbstub-sve-ioctls endif +endif =20 +ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_SVE2),) +AARCH64_TESTS +=3D test-826 +test-826: CFLAGS+=3D-march=3Darmv8.1-a+sve2 endif =20 TESTS +=3D $(AARCH64_TESTS) diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh index ed4b5ccb1f0..84f928f7f87 100755 --- a/tests/tcg/configure.sh +++ b/tests/tcg/configure.sh @@ -299,6 +299,10 @@ for target in $target_list; do -march=3Darmv8.1-a+sve -o $TMPE $TMPC; then echo "CROSS_CC_HAS_SVE=3Dy" >> $config_target_mak fi + if do_compiler "$target_compiler" $target_compiler_cflags \ + -march=3Darmv8.1-a+sve2 -o $TMPE $TMPC; then + echo "CROSS_CC_HAS_SVE2=3Dy" >> $config_target_mak + fi if do_compiler "$target_compiler" $target_compiler_cflags \ -march=3Darmv8.3-a -o $TMPE $TMPC; then echo "CROSS_CC_HAS_ARMV8_3=3Dy" >> $config_target_mak --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647609928; cv=none; d=zohomail.com; s=zohoarc; b=eG+hB1mX7czFBBRYq3+QczoLv10NRwU/yPs1Ysj+5bmlPCV1+DkCXoMCSVyfoWXiJj1lGHObmQPPLKHrhhBIZWcZPuaxIdPUWiI4uKBk4mRPcyCGud85IxwxTmg3XeacrJm13lsI+fLcz2E2cvchfpimnlONJLvkNYY/umyrAfo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647609928; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=egNinGZCQudUCLMUYQzucWN3NnejdR14NZ+qAzd3jlE=; b=nxL6auwHbvVQqG1K2c5KVjm/PxlnHxaH6Fl3WF6wNHmKPaT6loGzj0a8zopoSuSOTuLoUhJ8nvnnR0nS3PaqXiVBnhiX3JcMOKPRGeAJyqtgtmteYDuIFY4kJvCimvBz0wXx9DuB4EfdffuDtv8RhovTjTBYn/635ywl+cjC/+M= 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 1647609928764314.1932980658926; Fri, 18 Mar 2022 06:25:28 -0700 (PDT) Received: from localhost ([::1]:52442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCbf-0000Vk-36 for importer@patchew.org; Fri, 18 Mar 2022 09:25:27 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZY-00067E-EQ for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:16 -0400 Received: from [2a00:1450:4864:20::435] (port=46861 helo=mail-wr1-x435.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZW-0002AN-S6 for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:16 -0400 Received: by mail-wr1-x435.google.com with SMTP id x15so11700405wru.13 for ; Fri, 18 Mar 2022 06:23:14 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=egNinGZCQudUCLMUYQzucWN3NnejdR14NZ+qAzd3jlE=; b=N2le2nuK/1Dwx4XJZCROu52s3qsojLp+Ydjso8JtBHFNN7YmKYtkUszVWnux+GKH4G HRUMB5/Quo7yQ1vqcbG3yIviruszo4u5jsq6ohRT5hv7bfpGAJRgfR8M6P5SDbad3CTj TQRB/6QSWRnd58jO4i7qm4fCJ5bTiOVWckJTtty9fvg0fQbwQOW2b09WcgzjFx3bbeED hioFWqpXMZJwVlsL9dNlKI0uNJqHWjZ1EjxPr/GwAgvn+ofrHbtvP0o86KwC+2FM1K6X 1MIWumUrPjjwkJxTBy99rpDMiQ5ErMc4vDa7ADA5ChMoa2eQpd3UbtdMSTj0I7FnGwQr QBCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=egNinGZCQudUCLMUYQzucWN3NnejdR14NZ+qAzd3jlE=; b=l5kCGENRd53hs9Uo8DrP47Yi+aWSLKCrF4ohob/5LNUvyK2pbZDPuoVuNH6moHXZLb HLnjQ17Kg06i7ROLol2qtnOP3DngjcvFCSO8/HNYKQjAIyE7JQIzO/EYGN+4O2PcCeB+ wMrFKTlU3cbvSCTRwbWZiW4YYu0gkhctf0hJ8INaPzmB9Mh3ONjywmL9C5y7DQoERu+f 6k8EBPYbar9jex06vRROa5o0x86qgfuVuuDzjeUdwsmaGowLwfhQIM07uCDhAoCeLqrG kIQoD/6cTIypmzRHY6OU5C+JhSsST1tAmFZcRC2i8llZw3TDz23r3xmRPl7fHafwRccb yQHA== X-Gm-Message-State: AOAM531Ndrr1ONDsS+bbyJupJRaq83IzDEgJi6p46ViAC8SotvDItzzW ib5Ify1Q+bM0cMlkMJ9bv8F+X07RTEv7hA== X-Google-Smtp-Source: ABdhPJzHoDjsH487dJ0SVtcIbrmvX7Ridr8cjOWUikvRvjubcilirx3z9X4X909mz6HA6k/8iSCxjQ== X-Received: by 2002:a05:6000:1ac8:b0:1f1:f808:fb5b with SMTP id i8-20020a0560001ac800b001f1f808fb5bmr7914370wry.560.1647609793396; Fri, 18 Mar 2022 06:23:13 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/21] target/arm: Fix pauth_check_trap vs SEL2 Date: Fri, 18 Mar 2022 13:22:47 +0000 Message-Id: <20220318132306.3254960-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::435 (failed) 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::435; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647609930482100003 From: Richard Henderson When arm_is_el2_enabled was introduced, we missed updating pauth_check_trap. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/788 Fixes: e6ef0169264b ("target/arm: use arm_is_el2_enabled() where applicable= ") Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20220315021205.342768-1-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- target/arm/pauth_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/pauth_helper.c b/target/arm/pauth_helper.c index cd6df18150b..739aa520ddd 100644 --- a/target/arm/pauth_helper.c +++ b/target/arm/pauth_helper.c @@ -390,7 +390,7 @@ static void QEMU_NORETURN pauth_trap(CPUARMState *env, = int target_el, =20 static void pauth_check_trap(CPUARMState *env, int el, uintptr_t ra) { - if (el < 2 && arm_feature(env, ARM_FEATURE_EL2)) { + if (el < 2 && arm_is_el2_enabled(env)) { uint64_t hcr =3D arm_hcr_el2_eff(env); bool trap =3D !(hcr & HCR_API); if (el =3D=3D 0) { --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647609929; cv=none; d=zohomail.com; s=zohoarc; b=AUA7sokkZVTaaKA8qBw8x7MTkruitqwbzu2X6UZ6JyHxfeOp5apRpwQkFaeVwEQ0gn1eKxZS/O3Het5VxxwlK6TL+UsIDrQ28FrS6AmseKcw0msklZC8BhnPCidfJm3AnXJBJP5a2t5kdx/JMUEAmmDKX/z/ujtEunAiTH2lGfg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647609929; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=JKtif+TYuN8uHF9F8OrENpLieeGqAT6wfgiqLUoWSVk=; b=el+uvfnI8a4G5TpxALseZoUDTvpyEWglvtToqnm3hBiKSIAetoxDyKlEjLiGtWnj7UoivnbjasX2gTuja93BIq8j/kNBT6OKSTvEpwC0LEuhZGa/LKQEZ7KRII0zkrRyuJgO/pNVWBax3w1N5oHFL4haGEj7wfaSCWZ/R/ZirhY= 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 1647609929799132.09194553939574; Fri, 18 Mar 2022 06:25:29 -0700 (PDT) Received: from localhost ([::1]:52554 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCbg-0000aj-Lu for importer@patchew.org; Fri, 18 Mar 2022 09:25:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46008) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZZ-000693-6u for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:17 -0400 Received: from [2a00:1450:4864:20::42d] (port=40689 helo=mail-wr1-x42d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZX-0002AW-Ji for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:16 -0400 Received: by mail-wr1-x42d.google.com with SMTP id d7so11724655wrb.7 for ; Fri, 18 Mar 2022 06:23:15 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=JKtif+TYuN8uHF9F8OrENpLieeGqAT6wfgiqLUoWSVk=; b=Rf+tDPeQfJm5LJsOlsCr05YfLg8nfa1kpzEYhIEn4GBPXubNvXIABJFe8O8EsIIwWN KYotSshQM21xemFOFlNl/0/546bs7/IVTNIdBj5wetzs9f1YYj9U3DH45mrrls8nKQXM xJTtkujVFcEDmYgzre9KsxshfeUb2k8JIoZYIJB44l8k1uomLvvKs3voKTnvKT4ez00x wkKzLAgiUIp1iFK/G+EP/UAbtnl2MbtzE/zpci5xs7QMFzEd2E31iLZAbV85LCpdYVKS /0BPWst85/FhznPhgBMGVfmwo9MEdf7+B83RVLeF/lIW6ssue/H35WP2AoYWENozXUhU r9qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JKtif+TYuN8uHF9F8OrENpLieeGqAT6wfgiqLUoWSVk=; b=7+k3xI6r94W/xcChaa0iSRJNKHJdWlE/xvmM6oPve9iA60llhFTAALbvBUGXkxVi+H 9OA1s10HL0kY5AE46JOl7LtoOf6kNvlvwmppeSsFVnlT4Izs2V0Wu+ZL0fqisiW9Xu3t Sb1ngwMRRjjlQWw5Lp52mWt99KpyaoZ3jqs3DtiEvm0o1ReklqpvmvwugIK5yFRdiQn+ MDhHA3U/MifXn/Q9qfktecRO7iXpqeFHY8dsj5B+d++9YzTX7wes8KwiS6SkHhN84otu qehcFsfcP+Sm5MwER4nN64Shb/kx1jg2gxnX65RPoHPR81ueClmWsLatTugyaHKMtmMb 89AA== X-Gm-Message-State: AOAM53310VRfaudiHBY2GQJgZMPWOcf6WIB3auYyy9nL/M14NpFIqolX oQinhYnW4WBeRlYpTlX+BOUZfrU7YnqrhA== X-Google-Smtp-Source: ABdhPJyxhkfIsV39eqv595j6kl1U1RfQLbo8O5/mKdQhobKNFXhBGUAZ6CDdH+S5rYL1bURmsorVKQ== X-Received: by 2002:adf:dd0e:0:b0:1ed:d3c2:6f23 with SMTP id a14-20020adfdd0e000000b001edd3c26f23mr8525902wrm.277.1647609794234; Fri, 18 Mar 2022 06:23:14 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/21] target/arm: Fix handling of LPAE block descriptors Date: Fri, 18 Mar 2022 13:22:48 +0000 Message-Id: <20220318132306.3254960-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42d (failed) 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::42d; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647609930499100004 Content-Type: text/plain; charset="utf-8" LPAE descriptors come in three forms: * table descriptors, giving the address of the next level page table * page descriptors, which occur only at level 3 and describe the mapping of one page (which might be 4K, 16K or 64K) * block descriptors, which occur at higher page table levels, and describe the mapping of huge pages QEMU's page-table-walk code treats block and page entries identically, simply ORing in a number of bits from the input virtual address that depends on the level of the page table that we stopped at; we depend on the previous masking of descaddr with descaddrmask to have already cleared out the low bits of the descriptor word. This is not quite right: the address field in a block descriptor is smaller, and so there are bits which are valid address bits in a page descriptor or a table descriptor but which are not supposed to be part of the address in a block descriptor, and descaddrmask does not clear them. We previously mostly got away with this because those descriptor bits are RES0; however with FEAT_BBM (part of Armv8.4) block descriptor bit 16 is defined to be the nT bit. No emulated QEMU CPU has FEAT_BBM yet, but if the host CPU has it then we might see it when using KVM or hvf. Explicitly zero out all the descaddr bits we're about to OR vaddr bits into. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/790 Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20220304165628.2345765-1-peter.maydell@linaro.org --- target/arm/helper.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 088956eecf0..b5c8caafe84 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -11706,11 +11706,17 @@ static bool get_phys_addr_lpae(CPUARMState *env, = uint64_t address, indexmask =3D indexmask_grainsize; continue; } - /* Block entry at level 1 or 2, or page entry at level 3. + /* + * Block entry at level 1 or 2, or page entry at level 3. * These are basically the same thing, although the number - * of bits we pull in from the vaddr varies. + * of bits we pull in from the vaddr varies. Note that although + * descaddrmask masks enough of the low bits of the descriptor + * to give a correct page or table address, the address field + * in a block descriptor is smaller; so we need to explicitly + * clear the lower bits here before ORing in the low vaddr bits. */ page_size =3D (1ULL << ((stride * (4 - level)) + 3)); + descaddr &=3D ~(page_size - 1); descaddr |=3D (address & (page_size - 1)); /* Extract attributes from the descriptor */ attrs =3D extract64(descriptor, 2, 10) --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610122; cv=none; d=zohomail.com; s=zohoarc; b=dSC43rJRjNxQrn2hrC6LSioXjUMDKiNHWlCJAiSI4z2QmhViyuYzqaWsmFv8S5lYMRlDobkToZ2tWBLrSTmVo78YKtNpisRoqtHq6s8oIskYqIoN7EjDHv+ylohot36qGAVRBySBsbvfMEM3zz0IXummJoFFyv5gn/ASa4QRlBA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610122; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dOFSsJD7GyN8WerJViFJLtaAtHU5mpmh2G7A0ZQ4yoM=; b=TLiKJqb+hCRHV4D4SdTTM4ERTMORZSZ0FxHU5gEUWCT7xaN8l+qbQyrSj1tRQiEFJPDc9gtoKCyylLHkp0H4/ZTAagphtUTFQ6xTIZzTmHZ+fsYetWsnqJN3czzE/lsL/WqFM5zpHz8SlT/GDyw4Y1RL1l3vSTKTBk1FWKoavpQ= 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 1647610122733544.0125976647587; Fri, 18 Mar 2022 06:28:42 -0700 (PDT) Received: from localhost ([::1]:32862 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCen-0006PO-MA for importer@patchew.org; Fri, 18 Mar 2022 09:28:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46036) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZa-0006Br-7Y for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:18 -0400 Received: from [2a00:1450:4864:20::32c] (port=43661 helo=mail-wm1-x32c.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZY-0002Ag-Gu for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:17 -0400 Received: by mail-wm1-x32c.google.com with SMTP id l1-20020a05600c4f0100b00389645443d2so4803370wmq.2 for ; Fri, 18 Mar 2022 06:23:16 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=dOFSsJD7GyN8WerJViFJLtaAtHU5mpmh2G7A0ZQ4yoM=; b=sY14NSzvDheoxaUkhuk0MsQyCS+QfMtinJPKOEIHy0kUSKzQfR/WEMenGqdSWsfKS8 P9fXjcmPVVnjf6K1jrGBfYuYIC1IMGwtTc75gT1XpCMj3xDLgvCLZ5/11ieM8uUfpQTK zGc2IvfuGniExu1oEF6V/WjukMA9M40rXZLLMvQMUeOmC3CwoqCcZBkvIGjxatqnkYuL yNTWX9sL1tKVNWIBFcZxXgfZ0rzPoZ5FlHHwJrElJ5HAc0nAA4uRKCQ2U6mWBrdCajMe kn7Ys+5pLsOkpgXryXrAODViFF3Ge8ujyr1/iHIZbRV6EYghzwMJDFIP9PMrydVHCOo5 R2Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dOFSsJD7GyN8WerJViFJLtaAtHU5mpmh2G7A0ZQ4yoM=; b=Zw2ohx7gdClr1DeSPN0D5KKVNH9EvfRTEAvnoHUKqKL16Y9cOyGc72Wscg9wOyPfcc vsKxMDt9kyrw0MT6w0S59vT2ePn4i4tevB23qlCUxM4/7ayLl+eEHCrP3qVoTAKQSV+s NawbpX1OZUXZDGysatUU9HXf6IcoRNyP+/RMWVbAJpKIuKcZ/b5VyF1xWtIDhXM4gIeb 9L4C8oxEbdN45SAFdMfOSVfyd4/80RGaFuvjDEClYnpgsSkaufcyfZPIZ4RBk9/M1v8v kUkjg2zBZxPOfUDFZwsRivirUQgU0f5kimJu03jcnS/ZKWQsrjiyvHj1PCcY7QIdHNMs iXKw== X-Gm-Message-State: AOAM531emAw6uo3ha8XeJ2ttXPIL80KRHMcdNKl5QF89bWsSocgbadMs kETaL1CXwet55v7fDT7hdLaFmjg0TL/ApQ== X-Google-Smtp-Source: ABdhPJzK83QKdSu5hGglcWeyMwWuKX2CO40kcKTqdE8ezAgGM04zgOeHTMsaUUVASrS+/wjjiCUxmg== X-Received: by 2002:a1c:7c03:0:b0:38c:804d:d477 with SMTP id x3-20020a1c7c03000000b0038c804dd477mr5598911wmc.32.1647609795120; Fri, 18 Mar 2022 06:23:15 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/21] hw/dma/xlnx_csu_dma: Set TYPE_XLNX_CSU_DMA class_size Date: Fri, 18 Mar 2022 13:22:49 +0000 Message-Id: <20220318132306.3254960-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32c (failed) 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::32c; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610123211100001 In commit 00f05c02f9e7342f we gave the TYPE_XLNX_CSU_DMA object its own class struct, but forgot to update the TypeInfo::class_size accordingly. This meant that not enough memory was allocated for the class struct, and the initialization of xcdc->read in the class init function wrote off the end of the memory. Add the missing line. Found by running 'check-qtest-aarch64' with a clang address-sanitizer build, which complains: =3D=3D2542634=3D=3DERROR: AddressSanitizer: heap-buffer-overflow on address= 0x61000000ab00 at pc 0x559a20aebc29 bp 0x7fff97df74d0 sp 0x7fff97df74c8 WRITE of size 8 at 0x61000000ab00 thread T0 #0 0x559a20aebc28 in xlnx_csu_dma_class_init /mnt/nvmedisk/linaro/qemu-= from-laptop/qemu/build/san/../../hw/dma/xlnx_csu_dma.c:722:16 #1 0x559a21bf297c in type_initialize /mnt/nvmedisk/linaro/qemu-from-lap= top/qemu/build/san/../../qom/object.c:365:9 #2 0x559a21bf3442 in object_class_foreach_tramp /mnt/nvmedisk/linaro/qe= mu-from-laptop/qemu/build/san/../../qom/object.c:1070:5 #3 0x7f09bcb641b7 in g_hash_table_foreach (/usr/lib/x86_64-linux-gnu/li= bglib-2.0.so.0+0x401b7) #4 0x559a21bf3c27 in object_class_foreach /mnt/nvmedisk/linaro/qemu-fro= m-laptop/qemu/build/san/../../qom/object.c:1092:5 #5 0x559a21bf3c27 in object_class_get_list /mnt/nvmedisk/linaro/qemu-fr= om-laptop/qemu/build/san/../../qom/object.c:1149:5 #6 0x559a2081a2fd in select_machine /mnt/nvmedisk/linaro/qemu-from-lapt= op/qemu/build/san/../../softmmu/vl.c:1661:24 #7 0x559a2081a2fd in qemu_create_machine /mnt/nvmedisk/linaro/qemu-from= -laptop/qemu/build/san/../../softmmu/vl.c:2146:35 #8 0x559a2081a2fd in qemu_init /mnt/nvmedisk/linaro/qemu-from-laptop/qe= mu/build/san/../../softmmu/vl.c:3706:5 #9 0x559a20720ed5 in main /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/bu= ild/san/../../softmmu/main.c:49:5 #10 0x7f09baec00b2 in __libc_start_main /build/glibc-sMfBJT/glibc-2.31/= csu/../csu/libc-start.c:308:16 #11 0x559a2067673d in _start (/mnt/nvmedisk/linaro/qemu-from-laptop/qem= u/build/san/qemu-system-aarch64+0xf4b73d) 0x61000000ab00 is located 0 bytes to the right of 192-byte region [0x610000= 00aa40,0x61000000ab00) allocated by thread T0 here: #0 0x559a206eeff2 in calloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu= /build/san/qemu-system-aarch64+0xfc3ff2) #1 0x7f09bcb7bef0 in g_malloc0 (/usr/lib/x86_64-linux-gnu/libglib-2.0.s= o.0+0x57ef0) #2 0x559a21bf3442 in object_class_foreach_tramp /mnt/nvmedisk/linaro/qe= mu-from-laptop/qemu/build/san/../../qom/object.c:1070:5 Fixes: 00f05c02f9e7342f ("hw/dma/xlnx_csu_dma: Support starting a read tran= sfer through a class method") Signed-off-by: Peter Maydell Reviewed-by: Francisco Iglesias Reviewed-by: Edgar E. Iglesias Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Message-id: 20220308150207.2546272-1-peter.maydell@linaro.org --- hw/dma/xlnx_csu_dma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/dma/xlnx_csu_dma.c b/hw/dma/xlnx_csu_dma.c index 84f782fcdc0..60ada3286b4 100644 --- a/hw/dma/xlnx_csu_dma.c +++ b/hw/dma/xlnx_csu_dma.c @@ -744,6 +744,7 @@ static const TypeInfo xlnx_csu_dma_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(XlnxCSUDMA), .class_init =3D xlnx_csu_dma_class_init, + .class_size =3D sizeof(XlnxCSUDMAClass), .instance_init =3D xlnx_csu_dma_init, .interfaces =3D (InterfaceInfo[]) { { TYPE_STREAM_SINK }, --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610123; cv=none; d=zohomail.com; s=zohoarc; b=THgdEmm6khkM5kErLbCNJkodMIh2DnxA56C66xuclXV3w9/Qr8sc7W5lNBPxliQY2fWEwk7n98eVLsHe1pDQwlD+aDrnvtr0VnuEjnj7EbBTPT/dj/XRikm5O0I6jBbW7gyfDj9ZzE2XxbMkvHgEhTXyDwjeVoR2ezwyFhWDJTQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610123; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=s6v9sW/5b+lNngegiNeXR9i1AkvUX9wJBIUB91fUBiA=; b=VywKabIXXXWvW53p49RNK+ENM3+78d7MY4k9BBPy9Ya+/0KuZo3dAGWVzSzwzjP8ge+OeoNAz3Vhz8EYdidC33s3ht36vqy6CY7TJutaLWUXeMXPBwAUB/EyzAAH1AJMIMdoOgDgynyq832dgcsgf0ITo2oNSqLnV4Cji0HjNMA= 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 1647610123029318.14202481832695; Fri, 18 Mar 2022 06:28:43 -0700 (PDT) Received: from localhost ([::1]:32802 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCeo-0006Mk-2p for importer@patchew.org; Fri, 18 Mar 2022 09:28:42 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46062) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZb-0006Ea-22 for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:19 -0400 Received: from [2a00:1450:4864:20::32e] (port=40738 helo=mail-wm1-x32e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZZ-0002As-AU for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:18 -0400 Received: by mail-wm1-x32e.google.com with SMTP id v130-20020a1cac88000000b00389d0a5c511so6656365wme.5 for ; Fri, 18 Mar 2022 06:23:16 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=s6v9sW/5b+lNngegiNeXR9i1AkvUX9wJBIUB91fUBiA=; b=hTrotaJVHDwZgeZ57S+RnwTFsYv1EdVgY5nNkxN3wMG0lxPCWjmi8E8nkn93po5Sc0 hLlwKFpJ+qXp1kC6lWWZa6s+qxigiHRHAdLNK2nS8eRjDXzueXan5yEvq7uSqDcm7yAA 17M21FGIaoMzBfuhucMRlSljhgtXjZlYXTzLQnyd7zGKQAWxITu7ykCp/IWEEB7chL9z XD3FG7ga8jboMhQ/6CJbd4DHb/JWd2fRxlvJAtkFj8AaF4UerZGFuGZvbOkzeu6aiZUP LCE6VDzq+T5jwIkF0F4HL6GXypRI+og94SXYd5AfnmZAx8Zafudy9TMzne6QXX+xLDBo MR1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=s6v9sW/5b+lNngegiNeXR9i1AkvUX9wJBIUB91fUBiA=; b=31nCXGvmpK4CrSrs6s/SWjvEKNXxtfReO1i/GJHHFVI6dTzCJzcdYpjVPYelbNu0CI VJVR9IBx9DIZ+zppbZA+KF3vcl+M2JPwAODscBpfnCndwZlnu22yKTMtcMK+BA7z2CoX +HsX0nZo85h4l43PB46d73Jea1k3ckoaaK/X18NA1+fzAmFiMcaPhnX43TBqpZc+Ta4c uRAgmEms11DsQjyYAFcibAnvAxnPFYvZI5wvO6EOaoSqAJb3jKHIQrlGGhZuQkcvkM8k Pw2tZxVi07QGoLxM9TBJDxJKguLSlhVxo0HhS893zts9VpZUvrKKQMJTMF5plM4fh+7A bAZg== X-Gm-Message-State: AOAM5335tK1YO0pCL1P0rTdMg519CYynIE0tm5vcySSkYB98DQAvVJcs Y9pw1yBVvhgYgEAE1mQoJlUsyHVgWhqKsA== X-Google-Smtp-Source: ABdhPJzFXrEWCd0Pqi1fDIP2SBjJf96Az0t4uDk/Bm/63qcpeTL/kXCmiBHJP7iYr8xoQ0/J0brn9g== X-Received: by 2002:a05:600c:3b15:b0:38c:6cae:ff2 with SMTP id m21-20020a05600c3b1500b0038c6cae0ff2mr11729380wms.175.1647609795883; Fri, 18 Mar 2022 06:23:15 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/21] hw/misc/npcm7xx_clk: Don't leak string in npcm7xx_clk_sel_init() Date: Fri, 18 Mar 2022 13:22:50 +0000 Message-Id: <20220318132306.3254960-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32e (failed) 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::32e; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610125275100003 In npcm7xx_clk_sel_init() we allocate a string with g_strdup_printf(). Use g_autofree so we free it rather than leaking it. (Detected with the clang leak sanitizer.) Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20220308170302.2582820-1-peter.maydell@linaro.org --- hw/misc/npcm7xx_clk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/misc/npcm7xx_clk.c b/hw/misc/npcm7xx_clk.c index 0b61070c52f..bc2b879feb5 100644 --- a/hw/misc/npcm7xx_clk.c +++ b/hw/misc/npcm7xx_clk.c @@ -612,8 +612,8 @@ static void npcm7xx_clk_sel_init(Object *obj) NPCM7xxClockSELState *sel =3D NPCM7XX_CLOCK_SEL(obj); =20 for (i =3D 0; i < NPCM7XX_CLK_SEL_MAX_INPUT; ++i) { - sel->clock_in[i] =3D qdev_init_clock_in(DEVICE(sel), - g_strdup_printf("clock-in[%d]", i), + g_autofree char *s =3D g_strdup_printf("clock-in[%d]", i); + sel->clock_in[i] =3D qdev_init_clock_in(DEVICE(sel), s, npcm7xx_clk_update_sel_cb, sel, ClockUpdate); } sel->clock_out =3D qdev_init_clock_out(DEVICE(sel), "clock-out"); --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610359; cv=none; d=zohomail.com; s=zohoarc; b=MfK8HbT2oZ+ufKTovWS7lSbvtIwEbHHzvGeTAyH/gyBU+FEoTbF8+zI4ctk9wjUbSCxWrkdzlC1wYIVdy1XYnI44Pgm/CROMY1ZzJwzcf2IIGO+uvQWSjkFkew8tA2/GcAXGrfIxz9H1Mmhckuf82pxmoBi+mamgghQ+PtlBeCM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610359; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DEWExO7QLDaNCo9Eg6pGlE4QUxy0uT2YlPbVNfGUVoE=; b=H5hu3M4tYIoNNKnlNENS83XCnnkXs3UpCp2WUAk1JYRv9qbuNEc9PrxL0zWPCMpBUcuUJ5L0EX2VPm0EVFfOIPyNcCrpuDs6uOMIMLyJ2AzLfa8Gg7EcMsqTyuk/xwUp1344Rk3vMLE3slSc41rKDbXkkvdS8Jf03DnjVuuU5Qg= 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 1647610359322367.6371484515888; Fri, 18 Mar 2022 06:32:39 -0700 (PDT) Received: from localhost ([::1]:41492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCic-000409-Bn for importer@patchew.org; Fri, 18 Mar 2022 09:32:38 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46074) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZb-0006H2-Lt for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:19 -0400 Received: from [2a00:1450:4864:20::32e] (port=55235 helo=mail-wm1-x32e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZa-0002B7-6t for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:19 -0400 Received: by mail-wm1-x32e.google.com with SMTP id r64so4832536wmr.4 for ; Fri, 18 Mar 2022 06:23:17 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=DEWExO7QLDaNCo9Eg6pGlE4QUxy0uT2YlPbVNfGUVoE=; b=f60ua8IfJNIfApX6NdqmL1eKNVwWpHG0T7BPhatNAsINzbmjr556JnNKLE2cUcAWxW oB85aA4q/HwApTkXOWFTR3wFKVU+UOChaBFuVUacvKqdedRs//8MuUrXqIQOnP4+RcJA Oe3PvJWc6Sc/U/rmQJGpL6JggH9o1r3NMZsEUlnBsjBYNk5/yy0Do2umB32LWMDCcMhV i2fZ4AaIxbu9SLkzp4dFmBSdiluVQljHPQz9V9bBMRW/MESLS6SAK09dYKHuUPyrpL5G kvRFLEwM/p0B6BPLuEy+Kte5Wbsg7Cg+8oirXaom71X4q9YxML2x7Rv7wXJGk0ainPyy 8XsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DEWExO7QLDaNCo9Eg6pGlE4QUxy0uT2YlPbVNfGUVoE=; b=g6tCMF5C4zrBO8fNXEAYEf4dEufAyavRzv3RLZh29e4n9tqnyOv3JlevrJ5dl/YGi2 L/JK43IJOhCyoxQlpypWuNGK4FVWgnv4+CJDR/yJUE35tJVWXIueeaA7N1IY6Q6cgZtO /heK0b0gueRjim6a2Jx2FIcHfV1ma07AzNUp4agLoyLwmO0KQraAQS+KUGPoNhCVKNOX +uVoTdhtUd5vhQgpAtaZ8dAjVFPA3WThRQcWZ0AUiyWvepifNfgh5o0cbSr5wo4qnlaw CQMkmlPsO/4+1ozlRf5ZCTBjvzTerU02WZGAEx0sm5YCD06S9BQ/F9apI8xX9pJ4sjMj 6vHA== X-Gm-Message-State: AOAM531rB01pPXbs9uA8h6+Ae6lWWZmIQ9f1FtjuLeNniLaF0xVCstXI 3phupk/pdrr92YNvwiY9mpWPPw/Ln3fHcQ== X-Google-Smtp-Source: ABdhPJxX1D/hWLGXK1jXCOL7xcP8WTU9Nf/eG8ktdSI3Tc9RkGKT0A2qjxaMJ0YXg5GYalaB36I+mA== X-Received: by 2002:a05:600c:1d81:b0:38c:c1f:16a6 with SMTP id p1-20020a05600c1d8100b0038c0c1f16a6mr13752219wms.15.1647609796700; Fri, 18 Mar 2022 06:23:16 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/21] nsis installer: List emulators in alphabetical order Date: Fri, 18 Mar 2022 13:22:51 +0000 Message-Id: <20220318132306.3254960-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32e (failed) 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::32e; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610360060100001 We currently list the emulators in the Windows installer's dialog in an essentially random order (it's whatever glob.glob() returns them to, which is filesystem-implementation-dependent). Add a call to sorted() so they appear in alphabetical order. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Weil Reviewed-by: John Snow Message-id: 20220305105743.2384766-2-peter.maydell@linaro.org --- scripts/nsis.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/nsis.py b/scripts/nsis.py index 5135a058316..383bef70332 100644 --- a/scripts/nsis.py +++ b/scripts/nsis.py @@ -34,9 +34,9 @@ def main(): with open( os.path.join(destdir + args.prefix, "system-emulations.nsh"), = "w" ) as nsh: - for exe in glob.glob( + for exe in sorted(glob.glob( os.path.join(destdir + args.prefix, "qemu-system-*.exe") - ): + )): exe =3D os.path.basename(exe) arch =3D exe[12:-4] nsh.write( --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610120; cv=none; d=zohomail.com; s=zohoarc; b=Xlac5Wiy/n6juQFuzhOyZMJLJ7Js8sE63znllYBMcxHybw8Zntcey7WNFabixWj7j/VsMghApYX5zXc7A81TMppOOWTXPfyMrFS4ljq5gD7D1RxFoXPE1Ar1a6d5SbtP6Y0Rsi1Vhu9olj7gFJwP3w46uNaYu3qLolt3dZr6g7o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610120; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=e2Ca19v+BtrvPQ188u+XK9x8duUflsMT25zrs87XFmk=; b=V9cavGbpq+8Aqm/xib3i23e45rKKuCvdwDg4yxUSUMVIATGzjPDx66nY1Altf26oUv7m/67MKgm+jS8nEjv8pWcrB6ks5iu909jq+2I4BGODXE+EinwN8uK0yUvCucRZzEQVRkxxLFtRZoim8V9DylK+CXYQf3d4W+0DO0t/88g= 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 1647610120846432.23162864236497; Fri, 18 Mar 2022 06:28:40 -0700 (PDT) Received: from localhost ([::1]:60898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCel-0006Eb-Si for importer@patchew.org; Fri, 18 Mar 2022 09:28:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46088) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZc-0006LV-Jf for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:20 -0400 Received: from [2a00:1450:4864:20::42d] (port=43999 helo=mail-wr1-x42d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZa-0002BC-Re for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:20 -0400 Received: by mail-wr1-x42d.google.com with SMTP id a1so10361309wrh.10 for ; Fri, 18 Mar 2022 06:23:18 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=e2Ca19v+BtrvPQ188u+XK9x8duUflsMT25zrs87XFmk=; b=ANIuJ6mUI/NkK5zUXOPkrNhV+Ml3iWP/A4Of6B1v5aVB8EyrfxY3VXtWzPpv7ISFEI XbWidJPPNt9zfaXa+ND0rkGHTZv/d5uwpUagiR4PH2eh6qo5qabTkl0uw0xk8zHLPVCA 1jdn47Cdg88llA9X6BWmowxFeOVa9hvG0IE/XUuUcZNDukBHJKcZIlhA82wDp4xIQc6A O4OChg+4XnAiAWVqYrM0te+95v4mCE0Qy1K8qrTDk0Y8L2cJlfQI+kW+SUG6erVezK4a iTUf5Q/mSBqmObMf1l+ALVPwgfaIrkWdhri9zSRfhzZhWJn08lm631W5oacZ79SjH8q2 juGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e2Ca19v+BtrvPQ188u+XK9x8duUflsMT25zrs87XFmk=; b=CraqfhdTweBQgE0sAsU58hH4BNjMhAeY/XsOjwUYIVrpzuCSYhGDDs5gj++PybFqSp Boq5DPMO7V9+EMtMJCj0tjFq5YCk2f5RTmjuJKiaGLfO0iw+X/fawOfjJP8x6P5bTxo7 tedIVDNGNckwgIecrtK7PuG1BGjDDzFU+Eyt4rJfnCmAbuJeDCv1NE/QnmE32hjUccyH rsMlBJdzrRJrG5+e9VWnULeOdPqaK/FL+LFRORa07/t0GBTFzJ4o8oBVfrULDUGiYcZp jbjchFcSx83nrTMTiZMXTfov8Ni8JqGj90zbaoA+RDiz7Ik+V4eSMBba9yyWqbeqPJP+ gkBQ== X-Gm-Message-State: AOAM530f7Z3kuRD8NAOruIUaUyVlKt4bZ29NDTAMqjEjI+f0yF5onbm+ rVKuHdc5NuvQ0I+YSI07Gm6MkCDCpgG19A== X-Google-Smtp-Source: ABdhPJxZl7zhwucqxf5APr93J/d4qlFzg2enO2BEbzcAgtQlGZTSI9860iCFbRewRTbRVe4/wiQDSQ== X-Received: by 2002:a5d:63c9:0:b0:203:e78a:248e with SMTP id c9-20020a5d63c9000000b00203e78a248emr7173816wrw.29.1647609797551; Fri, 18 Mar 2022 06:23:17 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/21] nsis installer: Suppress "ANSI targets are deprecated" warning Date: Fri, 18 Mar 2022 13:22:52 +0000 Message-Id: <20220318132306.3254960-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42d (failed) 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::42d; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610121139100003 When we build our Windows installer, it emits the warning: warning 7998: ANSI targets are deprecated Fix this by making our installer a Unicode installer instead. These won't work on Win95/98/ME, but we already do not support those. See https://nsis.sourceforge.io/Docs/Chapter4.html#aunicodetarget for the documentation of the Unicode directive. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Weil Message-id: 20220305105743.2384766-3-peter.maydell@linaro.org --- qemu.nsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qemu.nsi b/qemu.nsi index c3df8c9d3b0..6edd82b385d 100644 --- a/qemu.nsi +++ b/qemu.nsi @@ -35,6 +35,9 @@ !define OUTFILE "qemu-setup.exe" !endif =20 +; Build a unicode installer +Unicode true + ; Use maximum compression. SetCompressor /SOLID lzma =20 --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610118; cv=none; d=zohomail.com; s=zohoarc; b=OmUfJEX+ZjfgfAp0ncKiWJHzxlveHmS65luy92RDpfyDbhxT54onPM5yuIJpMOSfw/aTmHNLM57sQSNLu0YP7naa3Ey7y+v7/KOeInrK3UX7jLCSp8/XxVP/RhQxek/7HzsRuZu3JXhdUxv+6CAU61lV8v4h7iUrxA9lUyCvkn8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610118; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sSwzNR8+SBA1DuRsakelB2z3vFtjsN8XSEy4XqrJuZ4=; b=Lh65cYPWKVCYC+Zi7uaOLxQumDqLVpgkfddGeA4CGyfta3sgzGh8JBJDRaKoZmeWi7hEfCABLdk0oaX6p5lzGkALP3w58Kt+x1osTN0ujsrqBjqxA8EytEpWWQYGtFdPaTKmgM5/O6lFAZvBi+5jyGCLBPmZdTd4S/tiR3336HE= 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 1647610118032531.6126281254866; Fri, 18 Mar 2022 06:28:38 -0700 (PDT) Received: from localhost ([::1]:60532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCej-0005z4-03 for importer@patchew.org; Fri, 18 Mar 2022 09:28:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZd-0006OW-Ei for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:21 -0400 Received: from [2a00:1450:4864:20::42c] (port=33497 helo=mail-wr1-x42c.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZb-0002BV-Pq for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:21 -0400 Received: by mail-wr1-x42c.google.com with SMTP id q8so375463wrc.0 for ; Fri, 18 Mar 2022 06:23:19 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=sSwzNR8+SBA1DuRsakelB2z3vFtjsN8XSEy4XqrJuZ4=; b=lv5LmJKA6u4hyC7hFn0WCX6BN9RWXetBLt8ekcga9ryOBaRofiFiIZcfvW5FDcDxrR CZUojRA7wUoXnwk5zFpu4YwyVLvqdffd7dOAb1JG9WorESKcFoN3CT8Ex3hKy/s8o5+I KLpfgWnt9wMXc0c0+8Lg/p4hleX/UUASF2ZxnLsqHFFMj22w1QJkl/HYb8d6epXW8bY2 ub7TnQnfsdD8XdiYNbzowN7Bmnw+9YkX06316LBUtulC7racMO3Ko6L0JHzXi575LyqG PfYiDKiNGd9reghvwc38qj4lr+RWsMm+XwLhkuxLAlNqFOcvZwAjNQu6M5T86j3xEntC j8LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sSwzNR8+SBA1DuRsakelB2z3vFtjsN8XSEy4XqrJuZ4=; b=U3/wSZNxVtd7yYmPVROlAHJDi8f8/RrLut2fc1+oOLbowT4nZbdE30MT8RhS3xeJPE Q4CmXLf7haNkkzrk1uiS0xsR8+FSftSuV9IyghbEGxv0Y1FlJ1IP1BpwdQiPJBF/wpCk +0ZtMCoZGtSRsE0leKWTg8+kuzgju1YSuTb9L2kX3cFZ+Wa929N2PZquopRoDd0JCPpp 1hdAG+V7aIbJV7jNGkU20nAdisOb5nQS63BCsCVWptdlFF0wB5ywYCFjEFoT97WPom0W WWcLeFGM3WDPCqiVcL0nD8RYLuFj2jn2+bqj27uifbnE4Vmc40d2y563571wAPFpQAlt syXA== X-Gm-Message-State: AOAM532kd0RzzkL33yVGafh4Ww7m8cliUbYKIAeBvux4o7sNFSD+c+sz l1lf7NWj3igVuxUdkqbcGCmVQa5GFpoIPQ== X-Google-Smtp-Source: ABdhPJxpqu517y0iWjTjP3vbAL2YyAr6Y4Np64ui/6iisXFfuc1ppsucPM9ZueB2jH/mwCPr1wcOAA== X-Received: by 2002:a05:6000:15c2:b0:203:8348:8cbf with SMTP id y2-20020a05600015c200b0020383488cbfmr8068112wry.309.1647609798459; Fri, 18 Mar 2022 06:23:18 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/21] nsis installer: Fix mouse-over descriptions for emulators Date: Fri, 18 Mar 2022 13:22:53 +0000 Message-Id: <20220318132306.3254960-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42c (failed) 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::42c; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610119068100001 We use the nsis.py script to write out an installer script Section for each emulator executable, so the exact set of Sections depends on which executables were built. However the part of qemu.nsi which specifies mouse-over descriptions for each Section still has a hard-coded and very outdated list (with just i386 and alpha). This causes two problems. Firstly, if you build the installer for a configuration where you didn't build the i386 binaries you get warnings like this: warning 6000: unknown variable/constant "{Section_i386}" detected, ignori= ng (macro:_=3D=3D:1) warning 6000: unknown variable/constant "{Section_i386w}" detected, ignor= ing (macro:_=3D=3D:1) (this happens in our gitlab CI jobs, for instance). Secondly, most of the emulators in the generated installer don't have any mouseover text. Make nsis.py generate a second output file which has the necessary MUI_DESCRIPTION_TEXT lines for each Section it creates, so we can include that at the right point in qemu.nsi to set the mouse-over text. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: John Snow Message-id: 20220305105743.2384766-4-peter.maydell@linaro.org --- qemu.nsi | 5 +---- scripts/nsis.py | 13 ++++++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/qemu.nsi b/qemu.nsi index 6edd82b385d..564d617d11f 100644 --- a/qemu.nsi +++ b/qemu.nsi @@ -228,10 +228,7 @@ SectionEnd ; Descriptions (mouse-over). !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SectionSystem} "System emulation." - !insertmacro MUI_DESCRIPTION_TEXT ${Section_alpha} "Alpha system emul= ation." - !insertmacro MUI_DESCRIPTION_TEXT ${Section_alphaw} "Alpha system emul= ation (GUI)." - !insertmacro MUI_DESCRIPTION_TEXT ${Section_i386} "PC i386 system em= ulation." - !insertmacro MUI_DESCRIPTION_TEXT ${Section_i386w} "PC i386 system em= ulation (GUI)." +!include "${BINDIR}\system-mui-text.nsh" !insertmacro MUI_DESCRIPTION_TEXT ${SectionTools} "Tools." !ifdef DLLDIR !insertmacro MUI_DESCRIPTION_TEXT ${SectionDll} "Runtime Libraries (= DLL)." diff --git a/scripts/nsis.py b/scripts/nsis.py index 383bef70332..462d6cac3b6 100644 --- a/scripts/nsis.py +++ b/scripts/nsis.py @@ -33,7 +33,9 @@ def main(): subprocess.run(["make", "install", "DESTDIR=3D" + destdir + os.pat= h.sep]) with open( os.path.join(destdir + args.prefix, "system-emulations.nsh"), = "w" - ) as nsh: + ) as nsh, open( + os.path.join(destdir + args.prefix, "system-mui-text.nsh"), "w" + ) as muinsh: for exe in sorted(glob.glob( os.path.join(destdir + args.prefix, "qemu-system-*.exe") )): @@ -49,6 +51,15 @@ def main(): arch, exe ) ) + if arch.endswith('w'): + desc =3D arch[:-1] + " emulation (GUI)." + else: + desc =3D arch + " emulation." + + muinsh.write( + """ + !insertmacro MUI_DESCRIPTION_TEXT ${{Section_{0}}} "{1}" + """.format(arch, desc)) =20 for exe in glob.glob(os.path.join(destdir + args.prefix, "*.exe")): signcode(exe) --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610323; cv=none; d=zohomail.com; s=zohoarc; b=NNBitHhJnNMWVExCcM4+fPtaazBmCRFKiMrQsG/U1ClX/NMn8tQ52rNOtDDrxgHOHhTxwvmQ5xw6lgIdb+YuejaGXl98XgRFV8AADqjef3bGJEDj4sTUVO2RDQPk4ABJRfJMIG36FTfU+LrcKHEQAphNbwS56m9PHzlh4EaBXho= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610323; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rAR5UrC/EDjfSgwvecxgN1md0yBcDrI2n/IH7Cc540Y=; b=EuU9LF9xUmQpMk5V/ZX6d34/J1tXLDBF6Nxx0YvnW+vRZ9TSWSxkqTNKUyW+ZjL0SXQxHS4kf5WAknO2UUSuT3SGESBIh0uhQvgHC36v874F+dagKzyqf1PIEon5YJHE1QqSJ4poH66Rru5mZuJAJHktTXnlTljXt+SR5sjo4j4= 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 1647610323847544.2625567442417; Fri, 18 Mar 2022 06:32:03 -0700 (PDT) Received: from localhost ([::1]:40858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCi2-0003aU-Jo for importer@patchew.org; Fri, 18 Mar 2022 09:32:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46128) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZe-0006RR-7c for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:22 -0400 Received: from [2a00:1450:4864:20::431] (port=41793 helo=mail-wr1-x431.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZc-0002Bl-LT for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:21 -0400 Received: by mail-wr1-x431.google.com with SMTP id h23so11119140wrb.8 for ; Fri, 18 Mar 2022 06:23:20 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=rAR5UrC/EDjfSgwvecxgN1md0yBcDrI2n/IH7Cc540Y=; b=o1uw5syHWkVL9yTWMPTMADkUnyqKUQGRfKNY7R9INmqVRqRTRCXRqwzztLCDJzCLSq yoWlOYLgGiBAFFxHcvIFIJ+eqMzU5VVNkQkE51y+1rVO7JNw/p8WLl63xprI49jSOUFB jHkLLExxo9LLnedM55rti7tLkpLa/moD9R6WBAzS7l02Q+vSd8pm7rWX2wWATCxkOTaI v5Y/EvPHbBOyMZBBQ0lgXIvyhTn+CAOHqSHSm4Lif84yqi6b/2jP16VAQzwdpPvRdrkQ eryE6HkouC0hmhi7rbh9syAw8Ccqb5VsRPGy5JT/bz93vtx6Ysk3G3RgMAjee10lMpmC gIvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rAR5UrC/EDjfSgwvecxgN1md0yBcDrI2n/IH7Cc540Y=; b=5rcOFaPg2bPUpDZ3W184lMHtJwVdJfGCPXN6XwhTxU6zMwErvkpBuug5VC8NJXRVPj x6fnAl7bGCTXbJ3L+m+xVge25rSUU0LpynqxphnoPzEh5GLAsdQgMbam1iS6hoPihMWu C/CGuH+wZwzSygCfHhcgMewvzcAf9zksVqaB3i5K9dXKCfyET8qyFV68bEhv4RAflVlv n5zsOizJrCck5nxCzD/8XUkqhSbyysHGfjof+EIlme4iMMtzb6c7+6aoOOpn4q+UDsNG 3wR7ateHKQzJ2oqAAR+fjtBCOC0e0tI2Z8sKz+QwqS8GUc/oGGBKDmrbuz0MUBL0sSch heoA== X-Gm-Message-State: AOAM5321ZE2Bbh4QXpRpkOD5mlOWEPVGu50OfDv7ktM3qXbBnirD1RX9 GQg0idDxWOHjYG3MTqvhHyAjgYHO1IuF6w== X-Google-Smtp-Source: ABdhPJxMpwh9jG4pUL46dqRdmYxCVh7TZd1fHNJAoSxxV1YnW0H27EqOpsJkrcuP+kqbq3xpv4vtEg== X-Received: by 2002:adf:bb54:0:b0:203:e244:fbe4 with SMTP id x20-20020adfbb54000000b00203e244fbe4mr7926178wrg.313.1647609799326; Fri, 18 Mar 2022 06:23:19 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/21] hw/intc: Rename CONFIG_ARM_GIC_TCG into CONFIG_ARM_GICV3_TCG Date: Fri, 18 Mar 2022 13:22:54 +0000 Message-Id: <20220318132306.3254960-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::431 (failed) 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::431; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610326599100001 Content-Type: text/plain; charset="utf-8" From: Eric Auger CONFIG_ARM_GIC_TCG actually guards the compilation of TCG GICv3 specific files. So let's rename it into CONFIG_ARM_GICV3_TCG Signed-off-by: Eric Auger Reviewed-by: Andrew Jones Message-id: 20220308182452.223473-2-eric.auger@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/intc/Kconfig | 2 +- hw/intc/meson.build | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig index ec8d4cec297..a7cf301eab2 100644 --- a/hw/intc/Kconfig +++ b/hw/intc/Kconfig @@ -25,7 +25,7 @@ config APIC select MSI_NONBROKEN select I8259 =20 -config ARM_GIC_TCG +config ARM_GICV3_TCG bool default y depends on ARM_GIC && TCG diff --git a/hw/intc/meson.build b/hw/intc/meson.build index 81ccdb0d78c..d6d012fb264 100644 --- a/hw/intc/meson.build +++ b/hw/intc/meson.build @@ -6,7 +6,7 @@ softmmu_ss.add(when: 'CONFIG_ARM_GIC', if_true: files( 'arm_gicv3_common.c', 'arm_gicv3_its_common.c', )) -softmmu_ss.add(when: 'CONFIG_ARM_GIC_TCG', if_true: files( +softmmu_ss.add(when: 'CONFIG_ARM_GICV3_TCG', if_true: files( 'arm_gicv3.c', 'arm_gicv3_dist.c', 'arm_gicv3_its.c', @@ -28,7 +28,7 @@ softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP_PMU', if_true: f= iles('xlnx-pmu-iomod-in specific_ss.add(when: 'CONFIG_ALLWINNER_A10_PIC', if_true: files('allwinne= r-a10-pic.c')) specific_ss.add(when: 'CONFIG_APIC', if_true: files('apic.c', 'apic_common= .c')) specific_ss.add(when: 'CONFIG_ARM_GIC', if_true: files('arm_gicv3_cpuif_co= mmon.c')) -specific_ss.add(when: 'CONFIG_ARM_GIC_TCG', if_true: files('arm_gicv3_cpui= f.c')) +specific_ss.add(when: 'CONFIG_ARM_GICV3_TCG', if_true: files('arm_gicv3_cp= uif.c')) specific_ss.add(when: 'CONFIG_ARM_GIC_KVM', if_true: files('arm_gic_kvm.c'= )) specific_ss.add(when: ['CONFIG_ARM_GIC_KVM', 'TARGET_AARCH64'], if_true: f= iles('arm_gicv3_kvm.c', 'arm_gicv3_its_kvm.c')) specific_ss.add(when: 'CONFIG_ARM_V7M', if_true: files('armv7m_nvic.c')) --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610519; cv=none; d=zohomail.com; s=zohoarc; b=M+T+beyQPWzSWHSR/0nOgdby9vne3bp8JFGrijccNnBmWN3DNp0EASxLKBIh/maJYzRxsKqI30guumjbJCkkkN7yU5w2K9x69JxItBYKOv4y3HcCvjd/zaNoAqLaEILH36cTspJmKiVWh+Kjj/eczMXl+2kBYeNpjJe9FKvIYj0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610519; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=w+JI1qq6cdVD2iag3w2GaYZANAYR6mX3L0DIG064z08=; b=SQqKo+cS3c8Xrg5U+4tPumKRHwRGuiJYY6baNJ21jINeewkZSmXfI7VX1I9okMZZ2pQHOHu3YUlFmnvE/aZLVuaf/0ru7Ryf8iYcrOHr7b1KeLIn+5Lub4LcXOm9qhNLYtGQNlFH4X41BMfdZ1xZYHdUiIrPWqh2BKWxfIAkgWY= 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 1647610519356491.8061114770136; Fri, 18 Mar 2022 06:35:19 -0700 (PDT) Received: from localhost ([::1]:49348 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVClC-0000qo-55 for importer@patchew.org; Fri, 18 Mar 2022 09:35:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46142) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZf-0006V8-8b for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:23 -0400 Received: from [2a00:1450:4864:20::42e] (port=45977 helo=mail-wr1-x42e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZd-0002Bv-Kc for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:22 -0400 Received: by mail-wr1-x42e.google.com with SMTP id p9so11693951wra.12 for ; Fri, 18 Mar 2022 06:23:21 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=w+JI1qq6cdVD2iag3w2GaYZANAYR6mX3L0DIG064z08=; b=oiGoivpKTOpWiJHmlPkw60nFenTkWLNaJs9k2w0TbN3jlzI8ZZDvDs22i26kQZyfMt lFo5GXCEHgl0SSoXz/SuJ8e6EEkPhia+x/+DUrgoVcEBwLDG2ug8N0fdTLk+S0o1uXTo jF+CgnRk3adk7vrHYed9D4H36/dP9QmE/OYHV/juTT8xaYVwrsVg/d3LMb4jrZ/7SXGe pzGAbiA8K5IZJwUiKBRACPENcgOjsN+16YngPlWy++kKgtfRdztBUJFxccPMRVNrv7m8 m6jw/IlL27i6weu9vzVYKGpGb068n8ynJzHZekQZ4cZDJ9tfrwH5pCTsPg52HOfb/faB /zEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=w+JI1qq6cdVD2iag3w2GaYZANAYR6mX3L0DIG064z08=; b=ypB9QJkuEs3y7DK7KiPEjVpjEEEd0o6v4KT+yzFw+avzH13keGSmcEZNxy1uzayEM7 /d+kXr4VbRwAtzj1048OV9SApeQCT1gkf57WiGdIaHkYsq9MbXNW1KwwMPOBMnZMzybT GhqTs6QEmZJgJFHJ3rw/7JLmg/+qbl+GhJSxPT33bCeuMJWG3JSxkqkhwc3/SjbfQCIl t55YF/92AQAJbCal3mnDSjTPHuR+jGGh6azyF7XxRRKGJZSM9vMTjtuP6gnwGKMI85lq PombOlJ1qo0tIMW70PAxxAeC6sWwgeF/KQZAzPGK7I8XLFpcI9i2Kbs/IMJQvEmY7ekj bBpQ== X-Gm-Message-State: AOAM5329YdHEMBCn2HnpbA+ITzM7hPPJid/TXtE2nIUH9zwIU/n+ciMv KZq8TTPe48TZdfa+VOXS4WkTxT2t2uxq/A== X-Google-Smtp-Source: ABdhPJyCfNDg1ie/vZpMLYviUl/XXD/skysdbspO1GcyznjRbvB+qmq5fCJJF7r/ovPJ84Mo87ombQ== X-Received: by 2002:a05:6000:1847:b0:203:813a:509e with SMTP id c7-20020a056000184700b00203813a509emr7924405wri.329.1647609800298; Fri, 18 Mar 2022 06:23:20 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/21] hw/arm/virt: Fix gic-version=max when CONFIG_ARM_GICV3_TCG is unset Date: Fri, 18 Mar 2022 13:22:55 +0000 Message-Id: <20220318132306.3254960-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42e (failed) 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::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610519600100003 Content-Type: text/plain; charset="utf-8" From: Eric Auger In TCG mode, if gic-version=3Dmax we always select GICv3 even if CONFIG_ARM_GICV3_TCG is unset. We shall rather select GICv2. This also brings the benefit of fixing qos tests errors for tests using gic-version=3Dmax with CONFIG_ARM_GICV3_TCG unset. Signed-off-by: Eric Auger Reviewed-by: Andrew Jones Message-id: 20220308182452.223473-3-eric.auger@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- hw/arm/virt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 46a42502bc5..d2e5ecd234a 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1852,7 +1852,12 @@ static void finalize_gic_version(VirtMachineState *v= ms) vms->gic_version =3D VIRT_GIC_VERSION_2; break; case VIRT_GIC_VERSION_MAX: - vms->gic_version =3D VIRT_GIC_VERSION_3; + if (module_object_class_by_name("arm-gicv3")) { + /* CONFIG_ARM_GICV3_TCG was set */ + vms->gic_version =3D VIRT_GIC_VERSION_3; + } else { + vms->gic_version =3D VIRT_GIC_VERSION_2; + } break; case VIRT_GIC_VERSION_HOST: error_report("gic-version=3Dhost requires KVM"); --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610354; cv=none; d=zohomail.com; s=zohoarc; b=PoiLlVvpg0OukwHkv50AWDCayH+om1hp8hqcAnLFaPNnNt1vRXr1WWy2yImFCTt0bQIusYQov8g0PnMrd3OcRJHwtFF0LJVWv0j7PyJod/4hK29eQoyGPe5easmjyfjAya6brbzZJ9YCkfKwpFQQ29NpCdmSo4tXdGCli1dH3Tc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610354; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=F5b5cXpmQL4zvEgjGCRXLiRUXPPFUSGLdiVG1e343YA=; b=hv3JItYTYId7KRSVvJ2Tn4McOeSHOZZfyfAAtm0MQt8lTFKvWe5NF2iE8axzVfxvasawGewCuwKJfG0RQyrq/uZwIN7TE6VhoQlwVehe1vM3M9mFi5zE5qkg+mw8pGyPdErlofaCs8QsM4KfW3QQkXvjQ8Sotyf3cdJrmk/rW+c= 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 1647610354490744.6074894091386; Fri, 18 Mar 2022 06:32:34 -0700 (PDT) Received: from localhost ([::1]:41298 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCiX-0003s9-IT for importer@patchew.org; Fri, 18 Mar 2022 09:32:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46172) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZg-0006Za-Ga for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:24 -0400 Received: from [2a00:1450:4864:20::432] (port=45981 helo=mail-wr1-x432.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZe-0002C7-OK for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:24 -0400 Received: by mail-wr1-x432.google.com with SMTP id p9so11694021wra.12 for ; Fri, 18 Mar 2022 06:23:22 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=F5b5cXpmQL4zvEgjGCRXLiRUXPPFUSGLdiVG1e343YA=; b=YA9YH96zTuDGRoEDALss1MeBNSw2bV1HoB4wWl+yYsjfhZsrsyuzluWFyHq68vpK6J 2MUzDqJFrPv/ZvnQwpuBg1DXBp31PJk5lMKoQiUemxDuL6qRyEzOZ3/sYiLPwSB6IzjB vBePX9y/b8aZZ+7sAKVAlPu3cTdBMFl3/012cbS5ioedtep7gEqTDxk2WYUfcMNZCsxL RkHtz7IfsiHerkW13cgRl8msVzCLodMBLmn2VJo1XEbEOv+oMhFTuKSMg8JGc4WyS7LX mxWrtbwjmg711v1O0c8UQKkKDGHNO0v/8/DFYjJwioqE363m+a6UZJuyG8qqXgAAFZvY kH0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F5b5cXpmQL4zvEgjGCRXLiRUXPPFUSGLdiVG1e343YA=; b=7tXmKgEOvC+l9XNChyL7u8LKLUZ9CWluEwEVOSYcAsfGTgRiHxTI5TDPqDr++S45aS vgFRwZykE0ACdICDt4RYPjuomqGs0T6+jp6ozaogfuAB6yQ319l1pNKlf/MA6pPeKuyn ckc2wjypFGEAyv3eaunkvRJtaF0XqmAa2pmEgAWDxZzEEuRhbN4AaBHpBj0wmmiouuyv sCDWfhAzPOPPvW2IxhjLskYhPh88YBQtahCyoAP+4JgQq3VAuis7HutvdcAt4gHf2Azu nsrNMtVwM46WLsH1BccVgZ8Cnhu1NtgiquG4eVUgO2R14+Zp3McSBHFNb4DoLS8KVB9c 5C4A== X-Gm-Message-State: AOAM532T55/KH0XmBElSbKvbaMzJIe7xO3MgRo0Lf9QSiGbTkwnkjY/j 49dk7+lMzRenFOhcrSINAmeEQBf0TNr1pQ== X-Google-Smtp-Source: ABdhPJz0pzGqHMnQ63YJzeMFmDM9RDbV+W7Rvi9j7+XgzM3PULXODFqoRvLG1u+VKrCRqZmp4IXxeA== X-Received: by 2002:a05:6000:10cf:b0:203:d8da:129c with SMTP id b15-20020a05600010cf00b00203d8da129cmr8084800wrx.300.1647609801296; Fri, 18 Mar 2022 06:23:21 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/21] target/arm: Log M-profile vector table accesses Date: Fri, 18 Mar 2022 13:22:56 +0000 Message-Id: <20220318132306.3254960-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::432 (failed) 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::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610356032100001 Currently the CPU_LOG_INT logging misses some useful information about loads from the vector table. Add logging where we load vector table entries. This is particularly helpful for cases where the user has accidentally not put a vector table in their image at all, which can result in confusing guest crashes at startup. Here's an example of the new logging for a case where the vector table contains garbage: Loaded reset SP 0x0 PC 0x0 from vector table Loaded reset SP 0xd008f8df PC 0xf000bf00 from vector table Taking exception 3 [Prefetch Abort] on CPU 0 ...with CFSR.IACCVIOL ...BusFault with BFSR.STKERR ...taking pending nonsecure exception 3 ...loading from element 3 of non-secure vector table at 0xc ...loaded new PC 0x20000558 Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson ---------------- IN: 0x20000558: 08000079 stmdaeq r0, {r0, r3, r4, r5, r6} (The double reset logging is the result of our long-standing "CPUs all get reset twice" weirdness; it looks a bit ugly but it'll go away if we ever fix that :-)) Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Message-id: 20220315204306.2797684-2-peter.maydell@linaro.org --- target/arm/cpu.c | 5 +++++ target/arm/m_helper.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 185d4e774d5..498fb9f71b3 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -21,6 +21,7 @@ #include "qemu/osdep.h" #include "qemu/qemu-print.h" #include "qemu/timer.h" +#include "qemu/log.h" #include "qemu-common.h" #include "target/arm/idau.h" #include "qemu/module.h" @@ -366,6 +367,10 @@ static void arm_cpu_reset(DeviceState *dev) initial_pc =3D ldl_phys(s->as, vecbase + 4); } =20 + qemu_log_mask(CPU_LOG_INT, + "Loaded reset SP 0x%x PC 0x%x from vector table\n", + initial_msp, initial_pc); + env->regs[13] =3D initial_msp & 0xFFFFFFFC; env->regs[15] =3D initial_pc & ~1; env->thumb =3D initial_pc & 1; diff --git a/target/arm/m_helper.c b/target/arm/m_helper.c index 648a3b3fc16..3bd16c0c465 100644 --- a/target/arm/m_helper.c +++ b/target/arm/m_helper.c @@ -679,6 +679,10 @@ static bool arm_v7m_load_vector(ARMCPU *cpu, int exc, = bool targets_secure, ARMMMUIdx mmu_idx; bool exc_secure; =20 + qemu_log_mask(CPU_LOG_INT, + "...loading from element %d of %s vector table at 0x%x\n= ", + exc, targets_secure ? "secure" : "non-secure", addr); + mmu_idx =3D arm_v7m_mmu_idx_for_secstate_and_priv(env, targets_secure,= true); =20 /* @@ -719,6 +723,7 @@ static bool arm_v7m_load_vector(ARMCPU *cpu, int exc, b= ool targets_secure, goto load_fail; } *pvec =3D vector_entry; + qemu_log_mask(CPU_LOG_INT, "...loaded new PC 0x%x\n", *pvec); return true; =20 load_fail: --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610689; cv=none; d=zohomail.com; s=zohoarc; b=FkLaOE+JURwsSVgCnwCsDfPg2iTD4yK5j+SDxW5VC5jgh43+30+0Ov1FdKG543qPJzl2CAu6arDehkgoHJTnbFR+YhwPNw7x9490BwqCfVyxWicynDM/+DSljrUxXxR6wfH/RnypRqbSdCrgESt2yyQex7A6qKthIB82brUsTiw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610689; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BdSqB/hxDC2NJFyRoZAEcCAYDQy1ee8PfJktNbNz4sU=; b=Si6HeRPncCS9rC3AnNV7IWAukENyzYg2fAKMnZHyj3U6HzJD0CaFhti+BBKyKfkx1siWmNtaCPLqTXns3YMmBCxpb0tNRBEkAMz6wwjRsI1EA34tIVypNmNzpYjzp7a0IOsfHyCmgQBXcuxl300l9rrjhdQDJt2HrgX2KEdOwI8= 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 1647610689611789.2447638788917; Fri, 18 Mar 2022 06:38:09 -0700 (PDT) Received: from localhost ([::1]:57882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCnx-0006dd-VN for importer@patchew.org; Fri, 18 Mar 2022 09:38:10 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46188) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZh-0006cI-7m for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:25 -0400 Received: from [2a00:1450:4864:20::433] (port=44830 helo=mail-wr1-x433.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZf-0002CH-Hy for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:24 -0400 Received: by mail-wr1-x433.google.com with SMTP id b19so11706660wrh.11 for ; Fri, 18 Mar 2022 06:23:23 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=BdSqB/hxDC2NJFyRoZAEcCAYDQy1ee8PfJktNbNz4sU=; b=xMbYwIsKRiGpbPJN6kwPkm6m+Gi/7F2SpZV0C1BUV0lxHW+o/jWBzMPk95wXmae8Z1 K/27gbOmmVnM+lUK3SHi6Ycil9HKgQaEdfobiKr4J/5b509WCdLLmlzG/q0fUMm53qYz SRPGzx5XDO3R9P4+VwjmWSMvJuNTjIe4kJAjXZAjgWJ6MRJwg5xx8ULvSU30h8+IofhO CvkEhQ/tCb0b/y8+QstUwy4DMUmVpYJsiKAjBLPobOxFRT/KAmO4IHkG6FdeMCo8x3rt /Ox2LDt9JUfO8xOmfS+nrewsPhC6zpiI/gFDAmP1ScxdQrW2c3K7OQ1Kc7WUlMK0BDu1 k3rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BdSqB/hxDC2NJFyRoZAEcCAYDQy1ee8PfJktNbNz4sU=; b=7S3HNmSu/lXIlmSO+GytJgnWX5Q0CxQVFUnP7g95R2tXEfYJY3TSIcjVrBh4uuZb+7 560LYMdyA+X0dWcwL23R22ujGMoL0vc9TxBXtnKEMT+iYPs38SZjQCKXMzQmrkuyIf7g QahnN9/DM0a4flmwaNIc8qoYgckIef54tSXFk0OGRpa2sjk8lWYx2z3RvmUcHzL2TUfG vuFdFNYEmhVvJbkj+KndGIljdNxqhO4dawln4MukLkUT+h+Mo2UaHO6SFb5wmWDoXpRO t7aUHLY0QaV+X9Xn+F9VBznZbuhrx4IAaJepat49lSRQJlbc04PaYU89vTnNoqZ12BiG xcVw== X-Gm-Message-State: AOAM5310OYkzrNpltn62m3Vj8X9WIa0WftBfAAkDN9Op0Vj7vi7uOwai YygCU+qy3l141EIU18ox2LsyC0CcTQtCiA== X-Google-Smtp-Source: ABdhPJxfFmyNCDbhven6Hsl4+d5OxAhErrGo9+cDubuJa9c0jft1hzBMF6hlAybZi5z0GVHXQgoqGg== X-Received: by 2002:adf:a35e:0:b0:1f0:9f2:a65e with SMTP id d30-20020adfa35e000000b001f009f2a65emr8094244wrb.535.1647609802121; Fri, 18 Mar 2022 06:23:22 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/21] target/arm: Log fault address for M-profile faults Date: Fri, 18 Mar 2022 13:22:57 +0000 Message-Id: <20220318132306.3254960-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::433 (failed) 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::433; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610704695100001 For M-profile, the fault address is not always exposed to the guest in a fault register (for instance the BFAR bus fault address register is only updated for bus faults on data accesses, not instruction accesses). Currently we log the address only if we're putting it into a particular guest-visible register. Since we always have it, log it generically, to make logs of i-side faults a bit clearer. Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Message-id: 20220315204306.2797684-3-peter.maydell@linaro.org --- target/arm/m_helper.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/arm/m_helper.c b/target/arm/m_helper.c index 3bd16c0c465..b7a0fe01141 100644 --- a/target/arm/m_helper.c +++ b/target/arm/m_helper.c @@ -2272,7 +2272,13 @@ void arm_v7m_cpu_do_interrupt(CPUState *cs) * Note that for M profile we don't have a guest facing FSR, but * the env->exception.fsr will be populated by the code that * raises the fault, in the A profile short-descriptor format. + * + * Log the exception.vaddress now regardless of subtype, because + * logging below only logs it when it goes into a guest visible + * register. */ + qemu_log_mask(CPU_LOG_INT, "...at fault address 0x%x\n", + (uint32_t)env->exception.vaddress); switch (env->exception.fsr & 0xf) { case M_FAKE_FSR_NSC_EXEC: /* --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610438; cv=none; d=zohomail.com; s=zohoarc; b=gYeDphYTmQPwJzp5a1G86gu3+enV3DyawpdL5QLWGU22nklv2GW0E/8FXhCZMAoRBngfkCqtSgboTetXcqYmNbo7NbdbcyFi72SYa/9aLqsP8sJLSXlZ+YXvivGB8dI7Iy+9L//Z9V3227nMFsDX9LYalRV/5jrGIhXocUK/lLQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610438; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=skh7ZtJM7j+brlaef0ORPlmyZxfZeY2D1B+dwRbY6ME=; b=arCfEjt5I5Ee13H48wRWP83O2tpzrL4sizXNKUJ3M9MtS1r2B0CBWqdblu9uptD6HCb9w4QedZaajxy8YDdezX3jzKA2LbyjYdB2tQrWUlsMp4vSU0Tfnilpc3/NpU4p50kJv8sy5Tb8ry0aK/xLGKbudBKC0syNqVbiTksqfIU= 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 1647610438919264.9871575935347; Fri, 18 Mar 2022 06:33:58 -0700 (PDT) Received: from localhost ([::1]:44192 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCjt-0005r8-KZ for importer@patchew.org; Fri, 18 Mar 2022 09:33:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46196) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZh-0006eh-VH for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:25 -0400 Received: from [2a00:1450:4864:20::336] (port=46781 helo=mail-wm1-x336.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZg-0002CV-8n for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:25 -0400 Received: by mail-wm1-x336.google.com with SMTP id p184-20020a1c29c1000000b0037f76d8b484so4779166wmp.5 for ; Fri, 18 Mar 2022 06:23:23 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=skh7ZtJM7j+brlaef0ORPlmyZxfZeY2D1B+dwRbY6ME=; b=l/gtrMwX1wFNaIiBvsPsebThq51ArwbZpQosJ5s3AEuYRBtHrPy6oTfgaSuOoW5M04 5oxexEblsKNHSQn86qOf7r6VhmjMheikZe5rGeJx6oaQZoVAZ0TZIdJZgWd3Y0PKBIoz cyok2D84Iyd4Qo0m+Kn9jiQE4EkpzPjTQoDgHefu+ixsn17AXHiFTHFDYIlIrM0oQOoG xn/gyEuaRQho1lUTao/74XaX8D5/BimBDRGZmnmutAg1wwB6lkG35d6ab5WBVtFMtBV6 F2ykkVO8MoZqjEYWxWSKFSE3So4D8Pos9Xjx1k9w8+lRyBOVs2BnGu+gTLTeV+jgrsoz ANWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=skh7ZtJM7j+brlaef0ORPlmyZxfZeY2D1B+dwRbY6ME=; b=BJAoyx7N/vtYn7D4BuaF7uzHEFNi5lDJA1Du4c2Ty+30xKnccTN/L6Dhnp2SOOg9HL 90x0LchIBsj+yR6i9PAXAYYKU0ZBmBrhnPU7CzRfIBp6f4yfgZR0FjW1FU8sbbvKl8QQ HTLcGOWJ1FZgQIMFvEJiGvnULp80f5LO3s3DfDQusjZGQP6khb4stqUfDBdT6uSa1X9F kqbzFssK0j3+4gYViJhhaF0WFDAs97Pok6JMBCJnFqyUyLEziOFztbjJyJJz+i9yrAkz yA13K1RyeyGQ9ipsIzFz0x1visnaBMQDnZ0Dg1KKdkLFAcc5z5O4yutfvcz3I3im4iXN IHOA== X-Gm-Message-State: AOAM531etUm5Yc2P4uWQmVNRflkcNugBnsho8AV7PFP7pinnoxf0yhth 35+NKC3JJLBDcgviG24lKwo0eaokdXsqQw== X-Google-Smtp-Source: ABdhPJzSLCWieR3a9cvO3gB83+RbYT515kcW9v2C2PzJ5UtnwwyziakTnk1vYR5tfsRRkkl/t2Lgxg== X-Received: by 2002:a7b:cb83:0:b0:37e:bc50:3c6b with SMTP id m3-20020a7bcb83000000b0037ebc503c6bmr15830209wmi.67.1647609802873; Fri, 18 Mar 2022 06:23:22 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/21] hw/arm/xlnx-zynqmp: Add an unimplemented SERDES area Date: Fri, 18 Mar 2022 13:22:58 +0000 Message-Id: <20220318132306.3254960-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::336 (failed) 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::336; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610440624100001 From: "Edgar E. Iglesias" Add an unimplemented SERDES (Serializer/Deserializer) area. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Francisco Iglesias Signed-off-by: Edgar E. Iglesias Message-id: 20220316164645.2303510-2-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell --- include/hw/arm/xlnx-zynqmp.h | 2 +- hw/arm/xlnx-zynqmp.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h index 9424f81c377..0552ba18b41 100644 --- a/include/hw/arm/xlnx-zynqmp.h +++ b/include/hw/arm/xlnx-zynqmp.h @@ -85,7 +85,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(XlnxZynqMPState, XLNX_ZYNQMP) /* * Unimplemented mmio regions needed to boot some images. */ -#define XLNX_ZYNQMP_NUM_UNIMP_AREAS 1 +#define XLNX_ZYNQMP_NUM_UNIMP_AREAS 2 =20 struct XlnxZynqMPState { /*< private >*/ diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index 6d0e4116db7..47324cdc441 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -52,6 +52,10 @@ #define QSPI_DMA_ADDR 0xff0f0800 #define NUM_QSPI_IRQ_LINES 2 =20 +/* Serializer/Deserializer. */ +#define SERDES_ADDR 0xfd400000 +#define SERDES_SIZE 0x20000 + #define DP_ADDR 0xfd4a0000 #define DP_IRQ 113 =20 @@ -284,6 +288,7 @@ static void xlnx_zynqmp_create_unimp_mmio(XlnxZynqMPSta= te *s) hwaddr size; } unimp_areas[ARRAY_SIZE(s->mr_unimp)] =3D { { .name =3D "apu", APU_ADDR, APU_SIZE }, + { .name =3D "serdes", SERDES_ADDR, SERDES_SIZE }, }; unsigned int nr; =20 --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610542; cv=none; d=zohomail.com; s=zohoarc; b=XrUoF41XYnt8Cv2jKIZ4TOCgRQmlAcTprmvYDGWlmtWoDZ6eFHnCgA3L/JWFlvTla2Kj/Imo8LwzJMEMnkMd7dr4UoiK9maVxPBKpCPYzwWOjN5akRt7L102DkCRw7VEM7pVr4w1pT5UrM/V+bu815D4Hjsm8IB9+e4eZAH26pY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610542; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zbF++87+DFHxQnZv6iADOqjq+cHo8qKgkOCe675Yq1U=; b=J/o81sKC24xW1mm8npUzihvrGO33PSTXpYaB+xeBiU5/gduUrudZ7BD6ou7w8ZoGIuqAPBlmnNGAt8o/b8z/AJM5GfHXpMMhjttLzwQdKW/GyBY4M5DszGweOpaId5zswzETRhMrWbF8rX1aDpHTg+NKMkOCGms0Zl+e8fvDscA= 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 1647610541995887.2206310862285; Fri, 18 Mar 2022 06:35:41 -0700 (PDT) Received: from localhost ([::1]:50056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVClZ-0001L4-Sh for importer@patchew.org; Fri, 18 Mar 2022 09:35:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46208) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZi-0006ho-O2 for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:26 -0400 Received: from [2a00:1450:4864:20::332] (port=39574 helo=mail-wm1-x332.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZh-0002Ci-22 for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:26 -0400 Received: by mail-wm1-x332.google.com with SMTP id bi13-20020a05600c3d8d00b0038c2c33d8f3so4037667wmb.4 for ; Fri, 18 Mar 2022 06:23:24 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zbF++87+DFHxQnZv6iADOqjq+cHo8qKgkOCe675Yq1U=; b=n8goMrk5BryY8Q9sUvU6rxO2OYEmhAsMHpd/DnQRKqsW3tLpIc+O1fnBUg0eEB+KUS Yi7FYxchSKCJ+/SguHqU5pyjF/ccGOnUDRjee8a8ZF0ur/Oq9hFWWCM8Mde2BlQGDG/X LYpF8nCg6+3qFKz8YJ6l4EtsDVegCYvhmoHSy3qWG/WN83gRKrE1oBeBJdBxtAyDmmH5 d6YYvTYmzB4cnfaDhknz8obZggYpBnEBQyP+ANZvxJqgvdU4vygEjnYSJU5mfNTKQ8ay bh9qSvfF+WjH5re7LJv5V6MZNahzPj+EjzeB3o1Po2x5jOmQy7Q+U4zAkETp/Adhftbv P5Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zbF++87+DFHxQnZv6iADOqjq+cHo8qKgkOCe675Yq1U=; b=20NdXNvMXI9IzvjxvKqvdkAV+ANChxXoFAPXLwOvp8EUpHjUKtBNDhwp6ebz0nUhTD fZerbywVWJ8roMPuMvq8nU03lXRo+MyUSJVZETYpu9leWnUcKM2M7osXKYEyU/BQmvPS NcZrn57lfhR90wcrGtgciNOQ8RBZAWMsK22v3MDBo3oxWZ+2CFI1YjDMJ/q4wyQ4cQc6 Wfn4geCDPO3Ke6z+SnUqXqCi5GcYQ+HetLMx3TTSNLCbqXItdhwDTZb8Z8Nh8Bh0eKt6 kZdqlxCNocSD1WePnxGh1q0uzf9aZiXN3pJxktHfKW5B4oSvH4n56aXCKH5JqEIPFc0w A/kQ== X-Gm-Message-State: AOAM530B+W/kVX8Nkk3mcnjxF/B9V3u7yFuQDQdSzYPmFgVHXfZGzYdt Znnz6jF+JcBWwqh4e2k6Y7MUnjDOYzQGJg== X-Google-Smtp-Source: ABdhPJxNt669Tjr6bP7J0FuwqkmCVDGHJZ0/gjHVWDGn07eUbMmMzfLxVb+Jx0XLGj97708GOIwmSQ== X-Received: by 2002:a05:600c:3584:b0:38a:258:1d6c with SMTP id p4-20020a05600c358400b0038a02581d6cmr16084019wmq.126.1647609803665; Fri, 18 Mar 2022 06:23:23 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/21] target/arm: Make rvbar settable after realize Date: Fri, 18 Mar 2022 13:22:59 +0000 Message-Id: <20220318132306.3254960-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::332 (failed) 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::332; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610543984100001 Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Make the rvbar property settable after realize. This is done in preparation to model the ZynqMP's runtime configurable rvbar. Signed-off-by: Edgar E. Iglesias Message-id: 20220316164645.2303510-3-edgar.iglesias@gmail.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/cpu.h | 3 ++- target/arm/cpu.c | 12 +++++++----- target/arm/helper.c | 10 +++++++--- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 157f214cce1..23879de5fa7 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -447,6 +447,7 @@ typedef struct CPUArchState { uint64_t vbar_el[4]; }; uint32_t mvbar; /* (monitor) vector base address register */ + uint64_t rvbar; /* rvbar sampled from rvbar property at reset */ struct { /* FCSE PID. */ uint32_t fcseidr_ns; uint32_t fcseidr_s; @@ -985,7 +986,7 @@ struct ArchCPU { =20 /* DCZ blocksize, in log_2(words), ie low 4 bits of DCZID_EL0 */ uint32_t dcz_blocksize; - uint64_t rvbar; + uint64_t rvbar_prop; /* Property/input signals. */ =20 /* Configurable aspects of GIC cpu interface (which is part of the CPU= ) */ int gic_num_lrs; /* number of list registers */ diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 498fb9f71b3..5d4ca7a2270 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -236,7 +236,10 @@ static void arm_cpu_reset(DeviceState *dev) } else { env->pstate =3D PSTATE_MODE_EL1h; } - env->pc =3D cpu->rvbar; + + /* Sample rvbar at reset. */ + env->cp15.rvbar =3D cpu->rvbar_prop; + env->pc =3D env->cp15.rvbar; #endif } else { #if defined(CONFIG_USER_ONLY) @@ -1135,9 +1138,6 @@ static Property arm_cpu_reset_cbar_property =3D static Property arm_cpu_reset_hivecs_property =3D DEFINE_PROP_BOOL("reset-hivecs", ARMCPU, reset_hivecs, false); =20 -static Property arm_cpu_rvbar_property =3D - DEFINE_PROP_UINT64("rvbar", ARMCPU, rvbar, 0); - #ifndef CONFIG_USER_ONLY static Property arm_cpu_has_el2_property =3D DEFINE_PROP_BOOL("has_el2", ARMCPU, has_el2, true); @@ -1240,7 +1240,9 @@ void arm_cpu_post_init(Object *obj) } =20 if (arm_feature(&cpu->env, ARM_FEATURE_AARCH64)) { - qdev_property_add_static(DEVICE(obj), &arm_cpu_rvbar_property); + object_property_add_uint64_ptr(obj, "rvbar", + &cpu->rvbar_prop, + OBJ_PROP_FLAG_READWRITE); } =20 #ifndef CONFIG_USER_ONLY diff --git a/target/arm/helper.c b/target/arm/helper.c index b5c8caafe84..812ca591f4e 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -7967,7 +7967,8 @@ void register_cp_regs_for_features(ARMCPU *cpu) ARMCPRegInfo rvbar =3D { .name =3D "RVBAR_EL1", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 0, .crn =3D 12, .crm =3D 0, .opc2 = =3D 1, - .type =3D ARM_CP_CONST, .access =3D PL1_R, .resetvalue =3D= cpu->rvbar + .access =3D PL1_R, + .fieldoffset =3D offsetof(CPUARMState, cp15.rvbar), }; define_one_arm_cp_reg(cpu, &rvbar); } @@ -8011,7 +8012,8 @@ void register_cp_regs_for_features(ARMCPU *cpu) ARMCPRegInfo rvbar =3D { .name =3D "RVBAR_EL2", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 4, .crn =3D 12, .crm =3D 0, .opc2 = =3D 1, - .type =3D ARM_CP_CONST, .access =3D PL2_R, .resetvalue =3D= cpu->rvbar + .access =3D PL2_R, + .fieldoffset =3D offsetof(CPUARMState, cp15.rvbar), }; define_one_arm_cp_reg(cpu, &rvbar); } @@ -8048,7 +8050,9 @@ void register_cp_regs_for_features(ARMCPU *cpu) ARMCPRegInfo el3_regs[] =3D { { .name =3D "RVBAR_EL3", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 6, .crn =3D 12, .crm =3D 0, .opc2 =3D= 1, - .type =3D ARM_CP_CONST, .access =3D PL3_R, .resetvalue =3D c= pu->rvbar }, + .access =3D PL3_R, + .fieldoffset =3D offsetof(CPUARMState, cp15.rvbar), + }, { .name =3D "SCTLR_EL3", .state =3D ARM_CP_STATE_AA64, .opc0 =3D 3, .opc1 =3D 6, .crn =3D 1, .crm =3D 0, .opc2 =3D = 0, .access =3D PL3_RW, --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610695; cv=none; d=zohomail.com; s=zohoarc; b=SbVqds2TpbIRUqZPHHwaLqeK+U7cvx4Neeh23to6jaaVlZukeQS+wrC+yG1xBCgEGWWTmF7qP7DMFGSuQZygAmGgiLOP63LtSB5YlrkXCLuGuGoIZWaun4FzGLpa570O/xR/0Hk3KnjxjrZX9xvPK3WsPwG+crmrcxlSJ5MrrsA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610695; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=N0MIyH0uWrtFSPg+a+xFf0zrLc1FPj9uCe3AVVInkQM=; b=fyU/vhwufxvp3S/CiUP8NxTOcukFFqC1r/NsFjdUc3sED+UJ4Lwba6E5+xMo/mckvvWfywEOJ/HXuhUyRQHzDQ7x97na4PRib+RFp6QzU8Vm+VPmt/JpoAiDDGBlLKz2QqQd3lDsxlyr+xYcyMZR/JjV+TLJArrcD1KyS1ZOn30= 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 1647610695487876.7094209875794; Fri, 18 Mar 2022 06:38:15 -0700 (PDT) Received: from localhost ([::1]:58254 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCo2-0006sc-CK for importer@patchew.org; Fri, 18 Mar 2022 09:38:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46246) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZk-0006qv-U1 for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:28 -0400 Received: from [2a00:1450:4864:20::32a] (port=43660 helo=mail-wm1-x32a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZi-0002Cx-87 for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:28 -0400 Received: by mail-wm1-x32a.google.com with SMTP id l1-20020a05600c4f0100b00389645443d2so4803567wmq.2 for ; Fri, 18 Mar 2022 06:23:25 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=N0MIyH0uWrtFSPg+a+xFf0zrLc1FPj9uCe3AVVInkQM=; b=ALcUlw5zK69U+xGivsHh88KAi1yjVjMiYgQ9vKzDojq5IYCEo7h8BesVOKApBpGEXc j/TVWdua642gAqLvs6K3lIlCLaTIT15J+2hvwM4b9K15bBPTDskRK37LF2tmonKHyNA9 tUJycgW2yJC7ImoUSwDJHmOP701ToE9XhFwKugqCS9e3O6rXV5Tc/xv56XWPFpQ07fzH q7223JMPuolvGkahIkKwyoFs3xrW5HPiWWZpzG8El1zOb46lNNLUCiimCw/sFaYKMyCm +yDdTJHIT/FWAijsUCEAsq884YStgJOcAdAsFrQxdZoXNRszD3SPkJ/0O7CbdhNwRW8z OJnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N0MIyH0uWrtFSPg+a+xFf0zrLc1FPj9uCe3AVVInkQM=; b=buQIRMdQ9dDg33e8lNVY7u5Xl7iSsFyOZ/357JumBzx1ZhNHCpFsMjiS4HZH3aVzgg C01SvSFlj5A9kv40QLaSos4w+CPhs1P2m4YaMe468Exb/SJugcjqzojF8tk3TO0XKdCZ CoWK//C3TQuyeuN2ATFXreoe++uPPcCEdtgdJcGyoQ7zgpbf7MdFGHDccFwdlDDXo0Aa gbYYaLGynCNEdnFZJ8NeOaMB+DU2UxW+eZXkjizJjIIDKSVfYyicAnhzrRts1Dna9fU2 CGgE/m9h6mVfVZkh5gCuajklYS6Ar+vFcH+uLcR6f8cP6/nuIOi+UP2DF41Z0vfzuaCc EJyw== X-Gm-Message-State: AOAM532YtEjU39Eirt6VXe8Vh8S9vT2ayXi9omZPj4lGz8yAm9hYS5qw IoERy0fI5wWFVn67+mfGkt5th7+ekpTHIA== X-Google-Smtp-Source: ABdhPJzlH6KwS43B263E0Ct1uxX0ptdzQoVDPi7wDwBGJYzh0wInooWFIugOsDA2JaFDlXfbc+dQBQ== X-Received: by 2002:a1c:f607:0:b0:38c:8d54:e16f with SMTP id w7-20020a1cf607000000b0038c8d54e16fmr1735182wmc.36.1647609804660; Fri, 18 Mar 2022 06:23:24 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/21] hw/misc: Add a model of the Xilinx ZynqMP CRF Date: Fri, 18 Mar 2022 13:23:00 +0000 Message-Id: <20220318132306.3254960-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32a (failed) 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::32a; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, UPPERCASE_50_75=0.008 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610697604100001 From: "Edgar E. Iglesias" Add a model of the Xilinx ZynqMP CRF. At the moment this is mostly a stub model. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Peter Maydell Signed-off-by: Edgar E. Iglesias Message-id: 20220316164645.2303510-4-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell --- include/hw/misc/xlnx-zynqmp-crf.h | 211 ++++++++++++++++++++++++ hw/misc/xlnx-zynqmp-crf.c | 266 ++++++++++++++++++++++++++++++ hw/misc/meson.build | 1 + 3 files changed, 478 insertions(+) create mode 100644 include/hw/misc/xlnx-zynqmp-crf.h create mode 100644 hw/misc/xlnx-zynqmp-crf.c diff --git a/include/hw/misc/xlnx-zynqmp-crf.h b/include/hw/misc/xlnx-zynqm= p-crf.h new file mode 100644 index 00000000000..02ef0bdeeee --- /dev/null +++ b/include/hw/misc/xlnx-zynqmp-crf.h @@ -0,0 +1,211 @@ +/* + * QEMU model of the CRF - Clock Reset FPD. + * + * Copyright (c) 2022 Xilinx Inc. + * SPDX-License-Identifier: GPL-2.0-or-later + * Written by Edgar E. Iglesias + */ +#ifndef HW_MISC_XLNX_ZYNQMP_CRF_H +#define HW_MISC_XLNX_ZYNQMP_CRF_H + +#include "hw/sysbus.h" +#include "hw/register.h" + +#define TYPE_XLNX_ZYNQMP_CRF "xlnx.zynqmp_crf" +OBJECT_DECLARE_SIMPLE_TYPE(XlnxZynqMPCRF, XLNX_ZYNQMP_CRF) + +REG32(ERR_CTRL, 0x0) + FIELD(ERR_CTRL, SLVERR_ENABLE, 0, 1) +REG32(IR_STATUS, 0x4) + FIELD(IR_STATUS, ADDR_DECODE_ERR, 0, 1) +REG32(IR_MASK, 0x8) + FIELD(IR_MASK, ADDR_DECODE_ERR, 0, 1) +REG32(IR_ENABLE, 0xc) + FIELD(IR_ENABLE, ADDR_DECODE_ERR, 0, 1) +REG32(IR_DISABLE, 0x10) + FIELD(IR_DISABLE, ADDR_DECODE_ERR, 0, 1) +REG32(CRF_WPROT, 0x1c) + FIELD(CRF_WPROT, ACTIVE, 0, 1) +REG32(APLL_CTRL, 0x20) + FIELD(APLL_CTRL, POST_SRC, 24, 3) + FIELD(APLL_CTRL, PRE_SRC, 20, 3) + FIELD(APLL_CTRL, CLKOUTDIV, 17, 1) + FIELD(APLL_CTRL, DIV2, 16, 1) + FIELD(APLL_CTRL, FBDIV, 8, 7) + FIELD(APLL_CTRL, BYPASS, 3, 1) + FIELD(APLL_CTRL, RESET, 0, 1) +REG32(APLL_CFG, 0x24) + FIELD(APLL_CFG, LOCK_DLY, 25, 7) + FIELD(APLL_CFG, LOCK_CNT, 13, 10) + FIELD(APLL_CFG, LFHF, 10, 2) + FIELD(APLL_CFG, CP, 5, 4) + FIELD(APLL_CFG, RES, 0, 4) +REG32(APLL_FRAC_CFG, 0x28) + FIELD(APLL_FRAC_CFG, ENABLED, 31, 1) + FIELD(APLL_FRAC_CFG, SEED, 22, 3) + FIELD(APLL_FRAC_CFG, ALGRTHM, 19, 1) + FIELD(APLL_FRAC_CFG, ORDER, 18, 1) + FIELD(APLL_FRAC_CFG, DATA, 0, 16) +REG32(DPLL_CTRL, 0x2c) + FIELD(DPLL_CTRL, POST_SRC, 24, 3) + FIELD(DPLL_CTRL, PRE_SRC, 20, 3) + FIELD(DPLL_CTRL, CLKOUTDIV, 17, 1) + FIELD(DPLL_CTRL, DIV2, 16, 1) + FIELD(DPLL_CTRL, FBDIV, 8, 7) + FIELD(DPLL_CTRL, BYPASS, 3, 1) + FIELD(DPLL_CTRL, RESET, 0, 1) +REG32(DPLL_CFG, 0x30) + FIELD(DPLL_CFG, LOCK_DLY, 25, 7) + FIELD(DPLL_CFG, LOCK_CNT, 13, 10) + FIELD(DPLL_CFG, LFHF, 10, 2) + FIELD(DPLL_CFG, CP, 5, 4) + FIELD(DPLL_CFG, RES, 0, 4) +REG32(DPLL_FRAC_CFG, 0x34) + FIELD(DPLL_FRAC_CFG, ENABLED, 31, 1) + FIELD(DPLL_FRAC_CFG, SEED, 22, 3) + FIELD(DPLL_FRAC_CFG, ALGRTHM, 19, 1) + FIELD(DPLL_FRAC_CFG, ORDER, 18, 1) + FIELD(DPLL_FRAC_CFG, DATA, 0, 16) +REG32(VPLL_CTRL, 0x38) + FIELD(VPLL_CTRL, POST_SRC, 24, 3) + FIELD(VPLL_CTRL, PRE_SRC, 20, 3) + FIELD(VPLL_CTRL, CLKOUTDIV, 17, 1) + FIELD(VPLL_CTRL, DIV2, 16, 1) + FIELD(VPLL_CTRL, FBDIV, 8, 7) + FIELD(VPLL_CTRL, BYPASS, 3, 1) + FIELD(VPLL_CTRL, RESET, 0, 1) +REG32(VPLL_CFG, 0x3c) + FIELD(VPLL_CFG, LOCK_DLY, 25, 7) + FIELD(VPLL_CFG, LOCK_CNT, 13, 10) + FIELD(VPLL_CFG, LFHF, 10, 2) + FIELD(VPLL_CFG, CP, 5, 4) + FIELD(VPLL_CFG, RES, 0, 4) +REG32(VPLL_FRAC_CFG, 0x40) + FIELD(VPLL_FRAC_CFG, ENABLED, 31, 1) + FIELD(VPLL_FRAC_CFG, SEED, 22, 3) + FIELD(VPLL_FRAC_CFG, ALGRTHM, 19, 1) + FIELD(VPLL_FRAC_CFG, ORDER, 18, 1) + FIELD(VPLL_FRAC_CFG, DATA, 0, 16) +REG32(PLL_STATUS, 0x44) + FIELD(PLL_STATUS, VPLL_STABLE, 5, 1) + FIELD(PLL_STATUS, DPLL_STABLE, 4, 1) + FIELD(PLL_STATUS, APLL_STABLE, 3, 1) + FIELD(PLL_STATUS, VPLL_LOCK, 2, 1) + FIELD(PLL_STATUS, DPLL_LOCK, 1, 1) + FIELD(PLL_STATUS, APLL_LOCK, 0, 1) +REG32(APLL_TO_LPD_CTRL, 0x48) + FIELD(APLL_TO_LPD_CTRL, DIVISOR0, 8, 6) +REG32(DPLL_TO_LPD_CTRL, 0x4c) + FIELD(DPLL_TO_LPD_CTRL, DIVISOR0, 8, 6) +REG32(VPLL_TO_LPD_CTRL, 0x50) + FIELD(VPLL_TO_LPD_CTRL, DIVISOR0, 8, 6) +REG32(ACPU_CTRL, 0x60) + FIELD(ACPU_CTRL, CLKACT_HALF, 25, 1) + FIELD(ACPU_CTRL, CLKACT_FULL, 24, 1) + FIELD(ACPU_CTRL, DIVISOR0, 8, 6) + FIELD(ACPU_CTRL, SRCSEL, 0, 3) +REG32(DBG_TRACE_CTRL, 0x64) + FIELD(DBG_TRACE_CTRL, CLKACT, 24, 1) + FIELD(DBG_TRACE_CTRL, DIVISOR0, 8, 6) + FIELD(DBG_TRACE_CTRL, SRCSEL, 0, 3) +REG32(DBG_FPD_CTRL, 0x68) + FIELD(DBG_FPD_CTRL, CLKACT, 24, 1) + FIELD(DBG_FPD_CTRL, DIVISOR0, 8, 6) + FIELD(DBG_FPD_CTRL, SRCSEL, 0, 3) +REG32(DP_VIDEO_REF_CTRL, 0x70) + FIELD(DP_VIDEO_REF_CTRL, CLKACT, 24, 1) + FIELD(DP_VIDEO_REF_CTRL, DIVISOR1, 16, 6) + FIELD(DP_VIDEO_REF_CTRL, DIVISOR0, 8, 6) + FIELD(DP_VIDEO_REF_CTRL, SRCSEL, 0, 3) +REG32(DP_AUDIO_REF_CTRL, 0x74) + FIELD(DP_AUDIO_REF_CTRL, CLKACT, 24, 1) + FIELD(DP_AUDIO_REF_CTRL, DIVISOR1, 16, 6) + FIELD(DP_AUDIO_REF_CTRL, DIVISOR0, 8, 6) + FIELD(DP_AUDIO_REF_CTRL, SRCSEL, 0, 3) +REG32(DP_STC_REF_CTRL, 0x7c) + FIELD(DP_STC_REF_CTRL, CLKACT, 24, 1) + FIELD(DP_STC_REF_CTRL, DIVISOR1, 16, 6) + FIELD(DP_STC_REF_CTRL, DIVISOR0, 8, 6) + FIELD(DP_STC_REF_CTRL, SRCSEL, 0, 3) +REG32(DDR_CTRL, 0x80) + FIELD(DDR_CTRL, CLKACT, 24, 1) + FIELD(DDR_CTRL, DIVISOR0, 8, 6) + FIELD(DDR_CTRL, SRCSEL, 0, 3) +REG32(GPU_REF_CTRL, 0x84) + FIELD(GPU_REF_CTRL, PP1_CLKACT, 26, 1) + FIELD(GPU_REF_CTRL, PP0_CLKACT, 25, 1) + FIELD(GPU_REF_CTRL, CLKACT, 24, 1) + FIELD(GPU_REF_CTRL, DIVISOR0, 8, 6) + FIELD(GPU_REF_CTRL, SRCSEL, 0, 3) +REG32(SATA_REF_CTRL, 0xa0) + FIELD(SATA_REF_CTRL, CLKACT, 24, 1) + FIELD(SATA_REF_CTRL, DIVISOR0, 8, 6) + FIELD(SATA_REF_CTRL, SRCSEL, 0, 3) +REG32(PCIE_REF_CTRL, 0xb4) + FIELD(PCIE_REF_CTRL, CLKACT, 24, 1) + FIELD(PCIE_REF_CTRL, DIVISOR0, 8, 6) + FIELD(PCIE_REF_CTRL, SRCSEL, 0, 3) +REG32(GDMA_REF_CTRL, 0xb8) + FIELD(GDMA_REF_CTRL, CLKACT, 24, 1) + FIELD(GDMA_REF_CTRL, DIVISOR0, 8, 6) + FIELD(GDMA_REF_CTRL, SRCSEL, 0, 3) +REG32(DPDMA_REF_CTRL, 0xbc) + FIELD(DPDMA_REF_CTRL, CLKACT, 24, 1) + FIELD(DPDMA_REF_CTRL, DIVISOR0, 8, 6) + FIELD(DPDMA_REF_CTRL, SRCSEL, 0, 3) +REG32(TOPSW_MAIN_CTRL, 0xc0) + FIELD(TOPSW_MAIN_CTRL, CLKACT, 24, 1) + FIELD(TOPSW_MAIN_CTRL, DIVISOR0, 8, 6) + FIELD(TOPSW_MAIN_CTRL, SRCSEL, 0, 3) +REG32(TOPSW_LSBUS_CTRL, 0xc4) + FIELD(TOPSW_LSBUS_CTRL, CLKACT, 24, 1) + FIELD(TOPSW_LSBUS_CTRL, DIVISOR0, 8, 6) + FIELD(TOPSW_LSBUS_CTRL, SRCSEL, 0, 3) +REG32(DBG_TSTMP_CTRL, 0xf8) + FIELD(DBG_TSTMP_CTRL, DIVISOR0, 8, 6) + FIELD(DBG_TSTMP_CTRL, SRCSEL, 0, 3) +REG32(RST_FPD_TOP, 0x100) + FIELD(RST_FPD_TOP, PCIE_CFG_RESET, 19, 1) + FIELD(RST_FPD_TOP, PCIE_BRIDGE_RESET, 18, 1) + FIELD(RST_FPD_TOP, PCIE_CTRL_RESET, 17, 1) + FIELD(RST_FPD_TOP, DP_RESET, 16, 1) + FIELD(RST_FPD_TOP, SWDT_RESET, 15, 1) + FIELD(RST_FPD_TOP, AFI_FM5_RESET, 12, 1) + FIELD(RST_FPD_TOP, AFI_FM4_RESET, 11, 1) + FIELD(RST_FPD_TOP, AFI_FM3_RESET, 10, 1) + FIELD(RST_FPD_TOP, AFI_FM2_RESET, 9, 1) + FIELD(RST_FPD_TOP, AFI_FM1_RESET, 8, 1) + FIELD(RST_FPD_TOP, AFI_FM0_RESET, 7, 1) + FIELD(RST_FPD_TOP, GDMA_RESET, 6, 1) + FIELD(RST_FPD_TOP, GPU_PP1_RESET, 5, 1) + FIELD(RST_FPD_TOP, GPU_PP0_RESET, 4, 1) + FIELD(RST_FPD_TOP, GPU_RESET, 3, 1) + FIELD(RST_FPD_TOP, GT_RESET, 2, 1) + FIELD(RST_FPD_TOP, SATA_RESET, 1, 1) +REG32(RST_FPD_APU, 0x104) + FIELD(RST_FPD_APU, ACPU3_PWRON_RESET, 13, 1) + FIELD(RST_FPD_APU, ACPU2_PWRON_RESET, 12, 1) + FIELD(RST_FPD_APU, ACPU1_PWRON_RESET, 11, 1) + FIELD(RST_FPD_APU, ACPU0_PWRON_RESET, 10, 1) + FIELD(RST_FPD_APU, APU_L2_RESET, 8, 1) + FIELD(RST_FPD_APU, ACPU3_RESET, 3, 1) + FIELD(RST_FPD_APU, ACPU2_RESET, 2, 1) + FIELD(RST_FPD_APU, ACPU1_RESET, 1, 1) + FIELD(RST_FPD_APU, ACPU0_RESET, 0, 1) +REG32(RST_DDR_SS, 0x108) + FIELD(RST_DDR_SS, DDR_RESET, 3, 1) + FIELD(RST_DDR_SS, APM_RESET, 2, 1) + +#define CRF_R_MAX (R_RST_DDR_SS + 1) + +struct XlnxZynqMPCRF { + SysBusDevice parent_obj; + MemoryRegion iomem; + qemu_irq irq_ir; + + RegisterInfoArray *reg_array; + uint32_t regs[CRF_R_MAX]; + RegisterInfo regs_info[CRF_R_MAX]; +}; + +#endif diff --git a/hw/misc/xlnx-zynqmp-crf.c b/hw/misc/xlnx-zynqmp-crf.c new file mode 100644 index 00000000000..57bc8cf49ae --- /dev/null +++ b/hw/misc/xlnx-zynqmp-crf.c @@ -0,0 +1,266 @@ +/* + * QEMU model of the CRF - Clock Reset FPD. + * + * Copyright (c) 2022 Xilinx Inc. + * SPDX-License-Identifier: GPL-2.0-or-later + * Written by Edgar E. Iglesias + */ + +#include "qemu/osdep.h" +#include "hw/sysbus.h" +#include "hw/register.h" +#include "qemu/bitops.h" +#include "qemu/log.h" +#include "migration/vmstate.h" +#include "hw/irq.h" +#include "hw/misc/xlnx-zynqmp-crf.h" +#include "target/arm/arm-powerctl.h" + +#ifndef XLNX_ZYNQMP_CRF_ERR_DEBUG +#define XLNX_ZYNQMP_CRF_ERR_DEBUG 0 +#endif + +#define CRF_MAX_CPU 4 + +static void ir_update_irq(XlnxZynqMPCRF *s) +{ + bool pending =3D s->regs[R_IR_STATUS] & ~s->regs[R_IR_MASK]; + qemu_set_irq(s->irq_ir, pending); +} + +static void ir_status_postw(RegisterInfo *reg, uint64_t val64) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(reg->opaque); + ir_update_irq(s); +} + +static uint64_t ir_enable_prew(RegisterInfo *reg, uint64_t val64) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(reg->opaque); + uint32_t val =3D val64; + + s->regs[R_IR_MASK] &=3D ~val; + ir_update_irq(s); + return 0; +} + +static uint64_t ir_disable_prew(RegisterInfo *reg, uint64_t val64) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(reg->opaque); + uint32_t val =3D val64; + + s->regs[R_IR_MASK] |=3D val; + ir_update_irq(s); + return 0; +} + +static uint64_t rst_fpd_apu_prew(RegisterInfo *reg, uint64_t val64) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(reg->opaque); + uint32_t val =3D val64; + uint32_t val_old =3D s->regs[R_RST_FPD_APU]; + unsigned int i; + + for (i =3D 0; i < CRF_MAX_CPU; i++) { + uint32_t mask =3D (1 << (R_RST_FPD_APU_ACPU0_RESET_SHIFT + i)); + + if ((val ^ val_old) & mask) { + if (val & mask) { + arm_set_cpu_off(i); + } else { + arm_set_cpu_on_and_reset(i); + } + } + } + return val64; +} + +static const RegisterAccessInfo crf_regs_info[] =3D { + { .name =3D "ERR_CTRL", .addr =3D A_ERR_CTRL, + },{ .name =3D "IR_STATUS", .addr =3D A_IR_STATUS, + .w1c =3D 0x1, + .post_write =3D ir_status_postw, + },{ .name =3D "IR_MASK", .addr =3D A_IR_MASK, + .reset =3D 0x1, + .ro =3D 0x1, + },{ .name =3D "IR_ENABLE", .addr =3D A_IR_ENABLE, + .pre_write =3D ir_enable_prew, + },{ .name =3D "IR_DISABLE", .addr =3D A_IR_DISABLE, + .pre_write =3D ir_disable_prew, + },{ .name =3D "CRF_WPROT", .addr =3D A_CRF_WPROT, + },{ .name =3D "APLL_CTRL", .addr =3D A_APLL_CTRL, + .reset =3D 0x12c09, + .rsvd =3D 0xf88c80f6, + },{ .name =3D "APLL_CFG", .addr =3D A_APLL_CFG, + .rsvd =3D 0x1801210, + },{ .name =3D "APLL_FRAC_CFG", .addr =3D A_APLL_FRAC_CFG, + .rsvd =3D 0x7e330000, + },{ .name =3D "DPLL_CTRL", .addr =3D A_DPLL_CTRL, + .reset =3D 0x2c09, + .rsvd =3D 0xf88c80f6, + },{ .name =3D "DPLL_CFG", .addr =3D A_DPLL_CFG, + .rsvd =3D 0x1801210, + },{ .name =3D "DPLL_FRAC_CFG", .addr =3D A_DPLL_FRAC_CFG, + .rsvd =3D 0x7e330000, + },{ .name =3D "VPLL_CTRL", .addr =3D A_VPLL_CTRL, + .reset =3D 0x12809, + .rsvd =3D 0xf88c80f6, + },{ .name =3D "VPLL_CFG", .addr =3D A_VPLL_CFG, + .rsvd =3D 0x1801210, + },{ .name =3D "VPLL_FRAC_CFG", .addr =3D A_VPLL_FRAC_CFG, + .rsvd =3D 0x7e330000, + },{ .name =3D "PLL_STATUS", .addr =3D A_PLL_STATUS, + .reset =3D 0x3f, + .rsvd =3D 0xc0, + .ro =3D 0x3f, + },{ .name =3D "APLL_TO_LPD_CTRL", .addr =3D A_APLL_TO_LPD_CTRL, + .reset =3D 0x400, + .rsvd =3D 0xc0ff, + },{ .name =3D "DPLL_TO_LPD_CTRL", .addr =3D A_DPLL_TO_LPD_CTRL, + .reset =3D 0x400, + .rsvd =3D 0xc0ff, + },{ .name =3D "VPLL_TO_LPD_CTRL", .addr =3D A_VPLL_TO_LPD_CTRL, + .reset =3D 0x400, + .rsvd =3D 0xc0ff, + },{ .name =3D "ACPU_CTRL", .addr =3D A_ACPU_CTRL, + .reset =3D 0x3000400, + .rsvd =3D 0xfcffc0f8, + },{ .name =3D "DBG_TRACE_CTRL", .addr =3D A_DBG_TRACE_CTRL, + .reset =3D 0x2500, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "DBG_FPD_CTRL", .addr =3D A_DBG_FPD_CTRL, + .reset =3D 0x1002500, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "DP_VIDEO_REF_CTRL", .addr =3D A_DP_VIDEO_REF_CTRL, + .reset =3D 0x1002300, + .rsvd =3D 0xfec0c0f8, + },{ .name =3D "DP_AUDIO_REF_CTRL", .addr =3D A_DP_AUDIO_REF_CTRL, + .reset =3D 0x1032300, + .rsvd =3D 0xfec0c0f8, + },{ .name =3D "DP_STC_REF_CTRL", .addr =3D A_DP_STC_REF_CTRL, + .reset =3D 0x1203200, + .rsvd =3D 0xfec0c0f8, + },{ .name =3D "DDR_CTRL", .addr =3D A_DDR_CTRL, + .reset =3D 0x1000500, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "GPU_REF_CTRL", .addr =3D A_GPU_REF_CTRL, + .reset =3D 0x1500, + .rsvd =3D 0xf8ffc0f8, + },{ .name =3D "SATA_REF_CTRL", .addr =3D A_SATA_REF_CTRL, + .reset =3D 0x1001600, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "PCIE_REF_CTRL", .addr =3D A_PCIE_REF_CTRL, + .reset =3D 0x1500, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "GDMA_REF_CTRL", .addr =3D A_GDMA_REF_CTRL, + .reset =3D 0x1000500, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "DPDMA_REF_CTRL", .addr =3D A_DPDMA_REF_CTRL, + .reset =3D 0x1000500, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "TOPSW_MAIN_CTRL", .addr =3D A_TOPSW_MAIN_CTRL, + .reset =3D 0x1000400, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "TOPSW_LSBUS_CTRL", .addr =3D A_TOPSW_LSBUS_CTRL, + .reset =3D 0x1000800, + .rsvd =3D 0xfeffc0f8, + },{ .name =3D "DBG_TSTMP_CTRL", .addr =3D A_DBG_TSTMP_CTRL, + .reset =3D 0xa00, + .rsvd =3D 0xffffc0f8, + }, + { .name =3D "RST_FPD_TOP", .addr =3D A_RST_FPD_TOP, + .reset =3D 0xf9ffe, + .rsvd =3D 0xf06001, + },{ .name =3D "RST_FPD_APU", .addr =3D A_RST_FPD_APU, + .reset =3D 0x3d0f, + .rsvd =3D 0xc2f0, + .pre_write =3D rst_fpd_apu_prew, + },{ .name =3D "RST_DDR_SS", .addr =3D A_RST_DDR_SS, + .reset =3D 0xf, + .rsvd =3D 0xf3, + } +}; + +static void crf_reset_enter(Object *obj, ResetType type) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(obj); + unsigned int i; + + for (i =3D 0; i < ARRAY_SIZE(s->regs_info); ++i) { + register_reset(&s->regs_info[i]); + } +} + +static void crf_reset_hold(Object *obj) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(obj); + ir_update_irq(s); +} + +static const MemoryRegionOps crf_ops =3D { + .read =3D register_read_memory, + .write =3D register_write_memory, + .endianness =3D DEVICE_LITTLE_ENDIAN, + .valid =3D { + .min_access_size =3D 4, + .max_access_size =3D 4, + }, +}; + +static void crf_init(Object *obj) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(obj); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(obj); + + s->reg_array =3D + register_init_block32(DEVICE(obj), crf_regs_info, + ARRAY_SIZE(crf_regs_info), + s->regs_info, s->regs, + &crf_ops, + XLNX_ZYNQMP_CRF_ERR_DEBUG, + CRF_R_MAX * 4); + sysbus_init_mmio(sbd, &s->reg_array->mem); + sysbus_init_irq(sbd, &s->irq_ir); +} + +static void crf_finalize(Object *obj) +{ + XlnxZynqMPCRF *s =3D XLNX_ZYNQMP_CRF(obj); + register_finalize_block(s->reg_array); +} + +static const VMStateDescription vmstate_crf =3D { + .name =3D TYPE_XLNX_ZYNQMP_CRF, + .version_id =3D 1, + .minimum_version_id =3D 1, + .fields =3D (VMStateField[]) { + VMSTATE_UINT32_ARRAY(regs, XlnxZynqMPCRF, CRF_R_MAX), + VMSTATE_END_OF_LIST(), + } +}; + +static void crf_class_init(ObjectClass *klass, void *data) +{ + ResettableClass *rc =3D RESETTABLE_CLASS(klass); + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->vmsd =3D &vmstate_crf; + rc->phases.enter =3D crf_reset_enter; + rc->phases.hold =3D crf_reset_hold; +} + +static const TypeInfo crf_info =3D { + .name =3D TYPE_XLNX_ZYNQMP_CRF, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_size =3D sizeof(XlnxZynqMPCRF), + .class_init =3D crf_class_init, + .instance_init =3D crf_init, + .instance_finalize =3D crf_finalize, +}; + +static void crf_register_types(void) +{ + type_register_static(&crf_info); +} + +type_init(crf_register_types) diff --git a/hw/misc/meson.build b/hw/misc/meson.build index 645585371a8..61397f3bbb2 100644 --- a/hw/misc/meson.build +++ b/hw/misc/meson.build @@ -84,6 +84,7 @@ softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files( )) softmmu_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_misc.c')) softmmu_ss.add(when: 'CONFIG_ZYNQ', if_true: files('zynq_slcr.c')) +specific_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx-zynqm= p-crf.c')) softmmu_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files( 'xlnx-versal-xramc.c', 'xlnx-versal-pmc-iou-slcr.c', --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610539; cv=none; d=zohomail.com; s=zohoarc; b=hOkXXORsqrf8PMMHrra+AHFxE+vEmuL2QFZxt4LMuOyYweo1I2Imyk0bsiWqBCBGwn08eaxnLSY3EI1yg96GesdV8LeArpBBqPCfH87i7Sk/255I9riXGek/aMhusFESo1IIAPnF36EvTwdco7J0YAeZyUfHFnbOY3tY9SlbHPI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610539; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=M+rv6/ppXtq2kDSvTeXWplmy40yq0BQABdfBEeBpaGI=; b=aU24rdXaYDjjqmpEJ+YcEnjw0H8ziIu+1nwZEkihQwn9HoYr1Njy4whtdH1PVgy8XlWFzcjRK6ErjOkSmEYHv+cycj4pIijZwFmaoxH/npY64hRHE/LJcAJJkPuKetQe2oDHv7GFLHDqzuoxX6qhp0+j6VqoW7NqZSd3VAfIrq0= 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 1647610539257288.4765869679684; Fri, 18 Mar 2022 06:35:39 -0700 (PDT) Received: from localhost ([::1]:49742 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVClV-00017P-Qu for importer@patchew.org; Fri, 18 Mar 2022 09:35:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46238) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZk-0006pZ-GS for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:28 -0400 Received: from [2a00:1450:4864:20::42a] (port=45975 helo=mail-wr1-x42a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZi-0002D6-SB for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:28 -0400 Received: by mail-wr1-x42a.google.com with SMTP id p9so11694338wra.12 for ; Fri, 18 Mar 2022 06:23:26 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=M+rv6/ppXtq2kDSvTeXWplmy40yq0BQABdfBEeBpaGI=; b=JTu3oHDjBG+azCn/Wf6D0XLy2UuC4BQqXRFQfMEh0av75+G0tUlQmiuvG9dN77IGDV 7vR5BkAc2GfuvomikXN53B9NhevucOb9RigLh+4tcl0j/Ry+Y4K/WGBO2ufYJMeApkVr 0vuK1DBGPJIh4Id99fdWAmaBfM1TVuBhW85K214xJegS8vShtOblbzyQUPfyu6v+Q+9/ KIjhC6M0rWfdtoiffWTb8RzzY0FpevEErj/fAHm/OMhE8biNA8xfyvRVNapqR71CWZwy wqCyzqZ6rqdsG1QAfXqjYhS7galKaqS0oLhe7FbgDdOf7OivtGXbbBnXzYnla9SMPRMM yLtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=M+rv6/ppXtq2kDSvTeXWplmy40yq0BQABdfBEeBpaGI=; b=WcnNhQrjrc/PIgwAosCAoQuqpvXmdSVrX3JHuI41bzwI+qaOKK86IdeGNyA+FABUk8 8jNAqyTgi2JzZxtEVipQChHP0YhGLTc2RODNv+cVlAkT7Adx9cEg7G2+QhypzlqihR13 gaIdvZkx3V9ib9BRfCfPxbNtA2wILF+5Anxy9z7Gown+XiyFNquCz65EwrVhmyKaTgEH fxMQZz60CXBovDt0JXeyKtlLKMIrBhMBdmdh2+ICCVRHXD1N8KRPVz/D8p8tMFk5xHik KOm9qi+Stk7AoBOdKXilFobhtIET33fUtFYO4QtuphQP14R7tJds/WcDi5/uYlLw+zM6 q2qQ== X-Gm-Message-State: AOAM533LutJDdLquD2dN9XoZ0tkocF4cA4/PNczUifPTll75ApWME3E7 D4VdskU1NklHFF00F8VXrw9tkNrWkguZjA== X-Google-Smtp-Source: ABdhPJz6x/uFS9FsYLgZoyfdeNolhzwG/lkPXDZLHx+HDbfAzw2DrdbBUotuPdIaEmxeLO56SSu69A== X-Received: by 2002:adf:dd4d:0:b0:203:f178:b78b with SMTP id u13-20020adfdd4d000000b00203f178b78bmr4678716wrm.93.1647609805520; Fri, 18 Mar 2022 06:23:25 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/21] hw/arm/xlnx-zynqmp: Connect the ZynqMP CRF Date: Fri, 18 Mar 2022 13:23:01 +0000 Message-Id: <20220318132306.3254960-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42a (failed) 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::42a; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610539931100001 From: "Edgar E. Iglesias" Connect the ZynqMP CRF - Clock Reset FPD device. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Francisco Iglesias Reviewed-by: Luc Michel Signed-off-by: Edgar E. Iglesias Message-id: 20220316164645.2303510-5-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell --- include/hw/arm/xlnx-zynqmp.h | 2 ++ hw/arm/xlnx-zynqmp.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h index 0552ba18b41..7938f223a4a 100644 --- a/include/hw/arm/xlnx-zynqmp.h +++ b/include/hw/arm/xlnx-zynqmp.h @@ -39,6 +39,7 @@ #include "hw/nvram/xlnx-bbram.h" #include "hw/nvram/xlnx-zynqmp-efuse.h" #include "hw/or-irq.h" +#include "hw/misc/xlnx-zynqmp-crf.h" =20 #define TYPE_XLNX_ZYNQMP "xlnx-zynqmp" OBJECT_DECLARE_SIMPLE_TYPE(XlnxZynqMPState, XLNX_ZYNQMP) @@ -124,6 +125,7 @@ struct XlnxZynqMPState { XlnxZDMA adma[XLNX_ZYNQMP_NUM_ADMA_CH]; XlnxCSUDMA qspi_dma; qemu_or_irq qspi_irq_orgate; + XlnxZynqMPCRF crf; =20 char *boot_cpu; ARMCPU *boot_cpu_ptr; diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index 47324cdc441..f4575eea7fa 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -52,6 +52,9 @@ #define QSPI_DMA_ADDR 0xff0f0800 #define NUM_QSPI_IRQ_LINES 2 =20 +#define CRF_ADDR 0xfd1a0000 +#define CRF_IRQ 120 + /* Serializer/Deserializer. */ #define SERDES_ADDR 0xfd400000 #define SERDES_SIZE 0x20000 @@ -280,6 +283,18 @@ static void xlnx_zynqmp_create_efuse(XlnxZynqMPState *= s, qemu_irq *gic) sysbus_connect_irq(sbd, 0, gic[EFUSE_IRQ]); } =20 +static void xlnx_zynqmp_create_crf(XlnxZynqMPState *s, qemu_irq *gic) +{ + SysBusDevice *sbd; + + object_initialize_child(OBJECT(s), "crf", &s->crf, TYPE_XLNX_ZYNQMP_CR= F); + sbd =3D SYS_BUS_DEVICE(&s->crf); + + sysbus_realize(sbd, &error_fatal); + sysbus_mmio_map(sbd, 0, CRF_ADDR); + sysbus_connect_irq(sbd, 0, gic[CRF_IRQ]); +} + static void xlnx_zynqmp_create_unimp_mmio(XlnxZynqMPState *s) { static const struct UnimpInfo { @@ -684,6 +699,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) =20 xlnx_zynqmp_create_bbram(s, gic_spi); xlnx_zynqmp_create_efuse(s, gic_spi); + xlnx_zynqmp_create_crf(s, gic_spi); xlnx_zynqmp_create_unimp_mmio(s); =20 for (i =3D 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610907; cv=none; d=zohomail.com; s=zohoarc; b=iuJ3thh+IkeOJLKXa1qChdNVELQ54BLwmq+uD1rBJMBR8Nw/Zmm814498DZC3LHV1voWoz1emaic9tkrcQ6U9dgfwLdycYvE+nnWSzYhz1PF+5IMiC9myZqkHWldfveRBYpMXgvVcB2BoVYTsAVJcGztJK04K4erZsvgB4+t0ww= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610907; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WEBPKtTl0A+spGyHf/Omw3nlUPpx87pLP+QlMJlWJIU=; b=WHeSWuObjddmVjJCNvLoriwmkMwmenKbE8Cl3cZkcmJ4C/CsCZ2BZNVTAHdixIycLl/+Cuupwf4c2SvlaZNYbPqEmR6XXKXKJoAqnArQjdBdUhZcv1vSWicMG4ximHwsA220/04ql1kk1RLOLFxUeLRaWTOsKbcujogEUqNLJd4= 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 1647610907642826.6668811619562; Fri, 18 Mar 2022 06:41:47 -0700 (PDT) Received: from localhost ([::1]:38172 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCrT-00040x-SY for importer@patchew.org; Fri, 18 Mar 2022 09:41:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46270) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZm-0006vf-8d for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:30 -0400 Received: from [2a00:1450:4864:20::32f] (port=52857 helo=mail-wm1-x32f.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZk-0002DI-2Q for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:29 -0400 Received: by mail-wm1-x32f.google.com with SMTP id r7so4848725wmq.2 for ; Fri, 18 Mar 2022 06:23:27 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=WEBPKtTl0A+spGyHf/Omw3nlUPpx87pLP+QlMJlWJIU=; b=irmgDjt5p9iqF07smeAIqgEERuq/VmiQB8DiLBsQxQ6CEQJW21kizWRwpMhe8fhby/ 8/W+iD6vKw9Qgsr47dkb+aD1BtU1BjzV4f/9eevc2tvnqhxMwSRwUGfGj3trY3jTQpwU 2HdCTTs1VPK+VKRgE2NjVTrbypZfpL+YzDcYgWy5CJXHy21BOG0s/DTindk3djcAXa9C JCVOWR03PYcQEnHGaaAQhImjKmaHjPJ5XysO/9XOTj4pFQViYlc9a6y1VBZuBHoTimao 250Tx6osN//Gvbe9lCEiX8syd7Y3iWMOmURyia6INZ0Kmkti+p3kWY9JCTx13/oYXhE8 0i9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WEBPKtTl0A+spGyHf/Omw3nlUPpx87pLP+QlMJlWJIU=; b=dHPxyaisg1hQXeQB0bwJY88RIEPjfbVlrXeNNVajL27PDEcJtVZKbTbdwYgbvZYDM6 Uzjkt7cQCmYfNHbnovW1c2K5bOPFWPDkYa/3mlrQsY/3gA57dcjpDzdgMMhIlbs9PbGi wUPBA0Y8ivHTQT+fSSjezSPRBu697GQpB7sgFlVPA9MO+ACMqsDp3LYCUYLSmFb0N72o 7LT7bJJS0rfjYMGiKmam4zZ+h2rWPU4fp1PqqKt27nSrLJiA2zmB4aArJS5VcfctqJQX 8Ym2wVWEA4i3ue/z0uhKfikAx0VSp66ngwUeb0CiMmlW2nRB3x45iKiVZFTaLqTq0eJg 1nRw== X-Gm-Message-State: AOAM531rQNRrdu1C5ASMPy168gK5OLDXGIynZOonOhBaKLlOHNCUCm2K t9u/KLmfZbli+/Vpfv8AZI9QEA2jaZN+Hg== X-Google-Smtp-Source: ABdhPJyg/bXHNUxir9X0wCzuk8zoemHDs6V5ZSzuzlTN0HRj+gC1X/3MeUMJp4pEjWhu181d9UorXQ== X-Received: by 2002:a1c:4b16:0:b0:38c:86c4:f205 with SMTP id y22-20020a1c4b16000000b0038c86c4f205mr3873446wma.131.1647609806514; Fri, 18 Mar 2022 06:23:26 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/21] hw/misc: Add a model of the Xilinx ZynqMP APU Control Date: Fri, 18 Mar 2022 13:23:02 +0000 Message-Id: <20220318132306.3254960-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32f (failed) 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::32f; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610915272100001 Content-Type: text/plain; charset="utf-8" From: "Edgar E. Iglesias" Add a model of the Xilinx ZynqMP APU Control. Reviewed-by: Luc Michel Signed-off-by: Edgar E. Iglesias Message-id: 20220316164645.2303510-6-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell --- include/hw/misc/xlnx-zynqmp-apu-ctrl.h | 93 +++++++++ hw/misc/xlnx-zynqmp-apu-ctrl.c | 253 +++++++++++++++++++++++++ hw/misc/meson.build | 1 + 3 files changed, 347 insertions(+) create mode 100644 include/hw/misc/xlnx-zynqmp-apu-ctrl.h create mode 100644 hw/misc/xlnx-zynqmp-apu-ctrl.c diff --git a/include/hw/misc/xlnx-zynqmp-apu-ctrl.h b/include/hw/misc/xlnx-= zynqmp-apu-ctrl.h new file mode 100644 index 00000000000..b8ca9434afb --- /dev/null +++ b/include/hw/misc/xlnx-zynqmp-apu-ctrl.h @@ -0,0 +1,93 @@ +/* + * QEMU model of ZynqMP APU Control. + * + * Copyright (c) 2013-2022 Xilinx Inc + * SPDX-License-Identifier: GPL-2.0-or-later + * + * Written by Peter Crosthwaite and + * Edgar E. Iglesias + * + */ +#ifndef HW_MISC_XLNX_ZYNQMP_APU_CTRL_H +#define HW_MISC_XLNX_ZYNQMP_APU_CTRL_H + +#include "hw/sysbus.h" +#include "hw/register.h" +#include "target/arm/cpu.h" + +#define TYPE_XLNX_ZYNQMP_APU_CTRL "xlnx.apu-ctrl" +OBJECT_DECLARE_SIMPLE_TYPE(XlnxZynqMPAPUCtrl, XLNX_ZYNQMP_APU_CTRL) + +REG32(APU_ERR_CTRL, 0x0) + FIELD(APU_ERR_CTRL, PSLVERR, 0, 1) +REG32(ISR, 0x10) + FIELD(ISR, INV_APB, 0, 1) +REG32(IMR, 0x14) + FIELD(IMR, INV_APB, 0, 1) +REG32(IEN, 0x18) + FIELD(IEN, INV_APB, 0, 1) +REG32(IDS, 0x1c) + FIELD(IDS, INV_APB, 0, 1) +REG32(CONFIG_0, 0x20) + FIELD(CONFIG_0, CFGTE, 24, 4) + FIELD(CONFIG_0, CFGEND, 16, 4) + FIELD(CONFIG_0, VINITHI, 8, 4) + FIELD(CONFIG_0, AA64NAA32, 0, 4) +REG32(CONFIG_1, 0x24) + FIELD(CONFIG_1, L2RSTDISABLE, 29, 1) + FIELD(CONFIG_1, L1RSTDISABLE, 28, 1) + FIELD(CONFIG_1, CP15DISABLE, 0, 4) +REG32(RVBARADDR0L, 0x40) + FIELD(RVBARADDR0L, ADDR, 2, 30) +REG32(RVBARADDR0H, 0x44) + FIELD(RVBARADDR0H, ADDR, 0, 8) +REG32(RVBARADDR1L, 0x48) + FIELD(RVBARADDR1L, ADDR, 2, 30) +REG32(RVBARADDR1H, 0x4c) + FIELD(RVBARADDR1H, ADDR, 0, 8) +REG32(RVBARADDR2L, 0x50) + FIELD(RVBARADDR2L, ADDR, 2, 30) +REG32(RVBARADDR2H, 0x54) + FIELD(RVBARADDR2H, ADDR, 0, 8) +REG32(RVBARADDR3L, 0x58) + FIELD(RVBARADDR3L, ADDR, 2, 30) +REG32(RVBARADDR3H, 0x5c) + FIELD(RVBARADDR3H, ADDR, 0, 8) +REG32(ACE_CTRL, 0x60) + FIELD(ACE_CTRL, AWQOS, 16, 4) + FIELD(ACE_CTRL, ARQOS, 0, 4) +REG32(SNOOP_CTRL, 0x80) + FIELD(SNOOP_CTRL, ACE_INACT, 4, 1) + FIELD(SNOOP_CTRL, ACP_INACT, 0, 1) +REG32(PWRCTL, 0x90) + FIELD(PWRCTL, CLREXMONREQ, 17, 1) + FIELD(PWRCTL, L2FLUSHREQ, 16, 1) + FIELD(PWRCTL, CPUPWRDWNREQ, 0, 4) +REG32(PWRSTAT, 0x94) + FIELD(PWRSTAT, CLREXMONACK, 17, 1) + FIELD(PWRSTAT, L2FLUSHDONE, 16, 1) + FIELD(PWRSTAT, DBGNOPWRDWN, 0, 4) + +#define APU_R_MAX ((R_PWRSTAT) + 1) + +#define APU_MAX_CPU 4 + +struct XlnxZynqMPAPUCtrl { + SysBusDevice busdev; + + ARMCPU *cpus[APU_MAX_CPU]; + /* WFIs towards PMU. */ + qemu_irq wfi_out[4]; + /* CPU Power status towards INTC Redirect. */ + qemu_irq cpu_power_status[4]; + qemu_irq irq_imr; + + uint8_t cpu_pwrdwn_req; + uint8_t cpu_in_wfi; + + RegisterInfoArray *reg_array; + uint32_t regs[APU_R_MAX]; + RegisterInfo regs_info[APU_R_MAX]; +}; + +#endif diff --git a/hw/misc/xlnx-zynqmp-apu-ctrl.c b/hw/misc/xlnx-zynqmp-apu-ctrl.c new file mode 100644 index 00000000000..20de23cf671 --- /dev/null +++ b/hw/misc/xlnx-zynqmp-apu-ctrl.c @@ -0,0 +1,253 @@ +/* + * QEMU model of the ZynqMP APU Control. + * + * Copyright (c) 2013-2022 Xilinx Inc + * SPDX-License-Identifier: GPL-2.0-or-later + * + * Written by Peter Crosthwaite and + * Edgar E. Iglesias + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "qemu/log.h" +#include "migration/vmstate.h" +#include "hw/qdev-properties.h" +#include "hw/sysbus.h" +#include "hw/irq.h" +#include "hw/register.h" + +#include "qemu/bitops.h" +#include "qapi/qmp/qerror.h" + +#include "hw/misc/xlnx-zynqmp-apu-ctrl.h" + +#ifndef XILINX_ZYNQMP_APU_ERR_DEBUG +#define XILINX_ZYNQMP_APU_ERR_DEBUG 0 +#endif + +static void update_wfi_out(void *opaque) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(opaque); + unsigned int i, wfi_pending; + + wfi_pending =3D s->cpu_pwrdwn_req & s->cpu_in_wfi; + for (i =3D 0; i < APU_MAX_CPU; i++) { + qemu_set_irq(s->wfi_out[i], !!(wfi_pending & (1 << i))); + } +} + +static void zynqmp_apu_rvbar_post_write(RegisterInfo *reg, uint64_t val) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(reg->opaque); + int i; + + for (i =3D 0; i < APU_MAX_CPU; ++i) { + uint64_t rvbar =3D s->regs[R_RVBARADDR0L + 2 * i] + + ((uint64_t)s->regs[R_RVBARADDR0H + 2 * i] << 32); + if (s->cpus[i]) { + object_property_set_int(OBJECT(s->cpus[i]), "rvbar", rvbar, + &error_abort); + } + } +} + +static void zynqmp_apu_pwrctl_post_write(RegisterInfo *reg, uint64_t val) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(reg->opaque); + unsigned int i, new; + + for (i =3D 0; i < APU_MAX_CPU; i++) { + new =3D val & (1 << i); + /* Check if CPU's CPUPWRDNREQ has changed. If yes, update GPIOs. */ + if (new !=3D (s->cpu_pwrdwn_req & (1 << i))) { + qemu_set_irq(s->cpu_power_status[i], !!new); + } + s->cpu_pwrdwn_req &=3D ~(1 << i); + s->cpu_pwrdwn_req |=3D new; + } + update_wfi_out(s); +} + +static void imr_update_irq(XlnxZynqMPAPUCtrl *s) +{ + bool pending =3D s->regs[R_ISR] & ~s->regs[R_IMR]; + qemu_set_irq(s->irq_imr, pending); +} + +static void isr_postw(RegisterInfo *reg, uint64_t val64) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(reg->opaque); + imr_update_irq(s); +} + +static uint64_t ien_prew(RegisterInfo *reg, uint64_t val64) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(reg->opaque); + uint32_t val =3D val64; + + s->regs[R_IMR] &=3D ~val; + imr_update_irq(s); + return 0; +} + +static uint64_t ids_prew(RegisterInfo *reg, uint64_t val64) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(reg->opaque); + uint32_t val =3D val64; + + s->regs[R_IMR] |=3D val; + imr_update_irq(s); + return 0; +} + +static const RegisterAccessInfo zynqmp_apu_regs_info[] =3D { +#define RVBAR_REGDEF(n) \ + { .name =3D "RVBAR CPU " #n " Low", .addr =3D A_RVBARADDR ## n ## L= , \ + .reset =3D 0xffff0000ul, = \ + .post_write =3D zynqmp_apu_rvbar_post_write, = \ + },{ .name =3D "RVBAR CPU " #n " High", .addr =3D A_RVBARADDR ## n ## H= , \ + .post_write =3D zynqmp_apu_rvbar_post_write, = \ + } + { .name =3D "ERR_CTRL", .addr =3D A_APU_ERR_CTRL, + },{ .name =3D "ISR", .addr =3D A_ISR, + .w1c =3D 0x1, + .post_write =3D isr_postw, + },{ .name =3D "IMR", .addr =3D A_IMR, + .reset =3D 0x1, + .ro =3D 0x1, + },{ .name =3D "IEN", .addr =3D A_IEN, + .pre_write =3D ien_prew, + },{ .name =3D "IDS", .addr =3D A_IDS, + .pre_write =3D ids_prew, + },{ .name =3D "CONFIG_0", .addr =3D A_CONFIG_0, + .reset =3D 0xf0f, + },{ .name =3D "CONFIG_1", .addr =3D A_CONFIG_1, + }, + RVBAR_REGDEF(0), + RVBAR_REGDEF(1), + RVBAR_REGDEF(2), + RVBAR_REGDEF(3), + { .name =3D "ACE_CTRL", .addr =3D A_ACE_CTRL, + .reset =3D 0xf000f, + },{ .name =3D "SNOOP_CTRL", .addr =3D A_SNOOP_CTRL, + },{ .name =3D "PWRCTL", .addr =3D A_PWRCTL, + .post_write =3D zynqmp_apu_pwrctl_post_write, + },{ .name =3D "PWRSTAT", .addr =3D A_PWRSTAT, + .ro =3D 0x3000f, + } +}; + +static void zynqmp_apu_reset_enter(Object *obj, ResetType type) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(obj); + int i; + + for (i =3D 0; i < APU_R_MAX; ++i) { + register_reset(&s->regs_info[i]); + } + + s->cpu_pwrdwn_req =3D 0; + s->cpu_in_wfi =3D 0; +} + +static void zynqmp_apu_reset_hold(Object *obj) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(obj); + + update_wfi_out(s); + imr_update_irq(s); +} + +static const MemoryRegionOps zynqmp_apu_ops =3D { + .read =3D register_read_memory, + .write =3D register_write_memory, + .endianness =3D DEVICE_LITTLE_ENDIAN, + .valid =3D { + .min_access_size =3D 4, + .max_access_size =3D 4, + } +}; + +static void zynqmp_apu_handle_wfi(void *opaque, int irq, int level) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(opaque); + + s->cpu_in_wfi =3D deposit32(s->cpu_in_wfi, irq, 1, level); + update_wfi_out(s); +} + +static void zynqmp_apu_init(Object *obj) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(obj); + int i; + + s->reg_array =3D + register_init_block32(DEVICE(obj), zynqmp_apu_regs_info, + ARRAY_SIZE(zynqmp_apu_regs_info), + s->regs_info, s->regs, + &zynqmp_apu_ops, + XILINX_ZYNQMP_APU_ERR_DEBUG, + APU_R_MAX * 4); + sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->reg_array->mem); + sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->irq_imr); + + for (i =3D 0; i < APU_MAX_CPU; ++i) { + g_autofree gchar *prop_name =3D g_strdup_printf("cpu%d", i); + object_property_add_link(obj, prop_name, TYPE_ARM_CPU, + (Object **)&s->cpus[i], + qdev_prop_allow_set_link_before_realize, + OBJ_PROP_LINK_STRONG); + } + + /* wfi_out is used to connect to PMU GPIs. */ + qdev_init_gpio_out_named(DEVICE(obj), s->wfi_out, "wfi_out", 4); + /* CPU_POWER_STATUS is used to connect to INTC redirect. */ + qdev_init_gpio_out_named(DEVICE(obj), s->cpu_power_status, + "CPU_POWER_STATUS", 4); + /* wfi_in is used as input from CPUs as wfi request. */ + qdev_init_gpio_in_named(DEVICE(obj), zynqmp_apu_handle_wfi, "wfi_in", = 4); +} + +static void zynqmp_apu_finalize(Object *obj) +{ + XlnxZynqMPAPUCtrl *s =3D XLNX_ZYNQMP_APU_CTRL(obj); + register_finalize_block(s->reg_array); +} + +static const VMStateDescription vmstate_zynqmp_apu =3D { + .name =3D TYPE_XLNX_ZYNQMP_APU_CTRL, + .version_id =3D 1, + .minimum_version_id =3D 1, + .fields =3D (VMStateField[]) { + VMSTATE_UINT32_ARRAY(regs, XlnxZynqMPAPUCtrl, APU_R_MAX), + VMSTATE_END_OF_LIST(), + } +}; + +static void zynqmp_apu_class_init(ObjectClass *klass, void *data) +{ + ResettableClass *rc =3D RESETTABLE_CLASS(klass); + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->vmsd =3D &vmstate_zynqmp_apu; + + rc->phases.enter =3D zynqmp_apu_reset_enter; + rc->phases.hold =3D zynqmp_apu_reset_hold; +} + +static const TypeInfo zynqmp_apu_info =3D { + .name =3D TYPE_XLNX_ZYNQMP_APU_CTRL, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_size =3D sizeof(XlnxZynqMPAPUCtrl), + .class_init =3D zynqmp_apu_class_init, + .instance_init =3D zynqmp_apu_init, + .instance_finalize =3D zynqmp_apu_finalize, +}; + +static void zynqmp_apu_register_types(void) +{ + type_register_static(&zynqmp_apu_info); +} + +type_init(zynqmp_apu_register_types) diff --git a/hw/misc/meson.build b/hw/misc/meson.build index 61397f3bbb2..6fb69612e06 100644 --- a/hw/misc/meson.build +++ b/hw/misc/meson.build @@ -85,6 +85,7 @@ softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files( softmmu_ss.add(when: 'CONFIG_SLAVIO', if_true: files('slavio_misc.c')) softmmu_ss.add(when: 'CONFIG_ZYNQ', if_true: files('zynq_slcr.c')) specific_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx-zynqm= p-crf.c')) +specific_ss.add(when: 'CONFIG_XLNX_ZYNQMP_ARM', if_true: files('xlnx-zynqm= p-apu-ctrl.c')) softmmu_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files( 'xlnx-versal-xramc.c', 'xlnx-versal-pmc-iou-slcr.c', --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610579; cv=none; d=zohomail.com; s=zohoarc; b=DBT/PqHHYaIwWZA4VTLVWHTXU1G1ODzF56K/dOlTrZMSHhJzcCsPmND5dtDmiSrYJZcs/bKlNO7ekR6+7/hT3d1D/fZPVkMStXlYaF3D+OvfQVoyem3vCzzyzZghuKM3wea+a9udrUNg2mdFE4GXiB221vqAspkeUF9N50x6Ww8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610579; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HLJWVvq9CCKmxGDjWnVnU7AY6BAVBA1hCTJywpbZHwM=; b=VatXwAHdoGfK3GnpdLkwmOKxZHqGaLBfmX2UtZE3LZLe0y3L4+YLYqfFy8/mJF0nF1AwpfIqGxnP7HcOjBJWFispQ9+C7Ac6+P7kyxoPCu96/JF7EGyAaOyvw5pRCMUBvl/9iYdgamSSFEMB9P9Om6/UVPonIZ/vJr2AYv/2Qxg= 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 1647610579605748.129473032879; Fri, 18 Mar 2022 06:36:19 -0700 (PDT) Received: from localhost ([::1]:52776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCmA-0003EV-Hj for importer@patchew.org; Fri, 18 Mar 2022 09:36:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46274) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZm-0006w2-By for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:30 -0400 Received: from [2a00:1450:4864:20::432] (port=45983 helo=mail-wr1-x432.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZk-0002DM-Nd for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:30 -0400 Received: by mail-wr1-x432.google.com with SMTP id p9so11694447wra.12 for ; Fri, 18 Mar 2022 06:23:28 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=HLJWVvq9CCKmxGDjWnVnU7AY6BAVBA1hCTJywpbZHwM=; b=UBVYksNgR3PMz3fawOf0gvcbMRIrZrrylzHREWsfJFQLSK5HJ1H2UQLuElJdbkltWo g7CsofrjmXQV1UAaIosXCULEHk+kJgGpvtkIUcSzPHGiCf75r6g2SksqhDwg8u3nl5pV vyU59dYsJ9G8bzlxNr6jdfTsBV8O/sqrh+OYKND/bi4dsC4XCRx5b0WhV/06uhrXpogh ESc1Pkzw+NEe0nCqfpgJ//5yqtLcTgAXiqEbjw8yY1N2lpYrAJL/wG39KDnyd0NXEeyP w73soOUGeEVJGQi+wRsArRq9t63IhqCTij6OYaBJH3qZQP1O4B2FVgFUOaIXp4/JuVdj bFog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HLJWVvq9CCKmxGDjWnVnU7AY6BAVBA1hCTJywpbZHwM=; b=Hr4sIpJWvaEzSerrv8twXD5ECnQkrznVuYcNoLfl4LP8tkuWm+/liVYEowGCrZkr/T 6+r6cRcEyD8Xk6aivHycvZTyvwJwSP5QrmgPn2dvvyDnIjbvEvsC7PX0iG8go2jnO8tR Nrswk0aX81vSkwjoaOVVShD/UOpApF3csQiBHMtYHnHmMKKQkSH5fo2FpajfVPrQR9FH ew1eH6ZniMs4fvNTwE68BW99RnU5Kg3QapcXS2mn//gk4Tjbz75p9pZtAPtO8+u8OCUz I3YbT8JsZxoW7al6ll01B+AfvmU6EyLmHx9KQ35vSkZ53EJHh0Ie9tG1nmuehq24YTjx apAA== X-Gm-Message-State: AOAM533k5ICnkT7kgw/w19ACIqRZGZYio47/O1MrvMYfKhRFzDFq7ley VIwv2SzmaBfjACXf/N3KXBIUclu7SXzmeQ== X-Google-Smtp-Source: ABdhPJyTnDyMUHWioZ2i1j7YNrkql9+2mDhls+/lzs5QG4vU3uxh/umm+tDrP1HZYeM48yzgF21L/w== X-Received: by 2002:a5d:4245:0:b0:203:dc49:2604 with SMTP id s5-20020a5d4245000000b00203dc492604mr8259811wrr.32.1647609807367; Fri, 18 Mar 2022 06:23:27 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/21] hw/arm/xlnx-zynqmp: Connect the ZynqMP APU Control Date: Fri, 18 Mar 2022 13:23:03 +0000 Message-Id: <20220318132306.3254960-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::432 (failed) 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::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610580084100001 From: "Edgar E. Iglesias" Connect the ZynqMP APU Control device. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Francisco Iglesias Reviewed-by: Luc Michel Signed-off-by: Edgar E. Iglesias Message-id: 20220316164645.2303510-7-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell --- include/hw/arm/xlnx-zynqmp.h | 4 +++- hw/arm/xlnx-zynqmp.c | 25 +++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h index 7938f223a4a..9d9a9d0bf9d 100644 --- a/include/hw/arm/xlnx-zynqmp.h +++ b/include/hw/arm/xlnx-zynqmp.h @@ -39,6 +39,7 @@ #include "hw/nvram/xlnx-bbram.h" #include "hw/nvram/xlnx-zynqmp-efuse.h" #include "hw/or-irq.h" +#include "hw/misc/xlnx-zynqmp-apu-ctrl.h" #include "hw/misc/xlnx-zynqmp-crf.h" =20 #define TYPE_XLNX_ZYNQMP "xlnx-zynqmp" @@ -86,7 +87,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(XlnxZynqMPState, XLNX_ZYNQMP) /* * Unimplemented mmio regions needed to boot some images. */ -#define XLNX_ZYNQMP_NUM_UNIMP_AREAS 2 +#define XLNX_ZYNQMP_NUM_UNIMP_AREAS 1 =20 struct XlnxZynqMPState { /*< private >*/ @@ -125,6 +126,7 @@ struct XlnxZynqMPState { XlnxZDMA adma[XLNX_ZYNQMP_NUM_ADMA_CH]; XlnxCSUDMA qspi_dma; qemu_or_irq qspi_irq_orgate; + XlnxZynqMPAPUCtrl apu_ctrl; XlnxZynqMPCRF crf; =20 char *boot_cpu; diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index f4575eea7fa..5bfe285a191 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -66,7 +66,7 @@ #define DPDMA_IRQ 116 =20 #define APU_ADDR 0xfd5c0000 -#define APU_SIZE 0x100 +#define APU_IRQ 153 =20 #define IPI_ADDR 0xFF300000 #define IPI_IRQ 64 @@ -283,6 +283,27 @@ static void xlnx_zynqmp_create_efuse(XlnxZynqMPState *= s, qemu_irq *gic) sysbus_connect_irq(sbd, 0, gic[EFUSE_IRQ]); } =20 +static void xlnx_zynqmp_create_apu_ctrl(XlnxZynqMPState *s, qemu_irq *gic) +{ + SysBusDevice *sbd; + int i; + + object_initialize_child(OBJECT(s), "apu-ctrl", &s->apu_ctrl, + TYPE_XLNX_ZYNQMP_APU_CTRL); + sbd =3D SYS_BUS_DEVICE(&s->apu_ctrl); + + for (i =3D 0; i < XLNX_ZYNQMP_NUM_APU_CPUS; i++) { + g_autofree gchar *name =3D g_strdup_printf("cpu%d", i); + + object_property_set_link(OBJECT(&s->apu_ctrl), name, + OBJECT(&s->apu_cpu[i]), &error_abort); + } + + sysbus_realize(sbd, &error_fatal); + sysbus_mmio_map(sbd, 0, APU_ADDR); + sysbus_connect_irq(sbd, 0, gic[APU_IRQ]); +} + static void xlnx_zynqmp_create_crf(XlnxZynqMPState *s, qemu_irq *gic) { SysBusDevice *sbd; @@ -302,7 +323,6 @@ static void xlnx_zynqmp_create_unimp_mmio(XlnxZynqMPSta= te *s) hwaddr base; hwaddr size; } unimp_areas[ARRAY_SIZE(s->mr_unimp)] =3D { - { .name =3D "apu", APU_ADDR, APU_SIZE }, { .name =3D "serdes", SERDES_ADDR, SERDES_SIZE }, }; unsigned int nr; @@ -699,6 +719,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) =20 xlnx_zynqmp_create_bbram(s, gic_spi); xlnx_zynqmp_create_efuse(s, gic_spi); + xlnx_zynqmp_create_apu_ctrl(s, gic_spi); xlnx_zynqmp_create_crf(s, gic_spi); xlnx_zynqmp_create_unimp_mmio(s); =20 --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610780; cv=none; d=zohomail.com; s=zohoarc; b=DRBsSBGSOqMlitbS3I7YVwPS1mkGFWp3f3oJKrfYP0WBO8yBrhVBg6dUs+SfQZiLxBKPeimou93vY6mI2frQHaWe74sN/Wi7PzbogiR7SUtiRF7IWHANskKI0MMal8FLlUCacGjn2wLJg0wbri4Fcp8SyujOYnWHQviZvu9n8Bg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610780; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=n35AFs9v+Ihl4A7Mb9rzofI88nppswgEUkv1KZhYPHc=; b=PrJO1sKWgdkHkwuIb+UyGNuZZPw/LzwGNiCgeMgv+IhRzyocg/zzcSQaqqnWGbqJ7hT07OeSlraa/TMn+ZSGTgGZZZXGV9SYGZ23GBsqNjlmFoMtIAJvxqE5yEU4wNdGpzM/j5pTXWYd301arYS+DZk9dkBSH9i3JefKxvGRp9I= 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 1647610780820681.1762175720586; Fri, 18 Mar 2022 06:39:40 -0700 (PDT) Received: from localhost ([::1]:33106 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCpP-0000Ut-RV for importer@patchew.org; Fri, 18 Mar 2022 09:39:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46296) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZn-00070A-GK for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:31 -0400 Received: from [2a00:1450:4864:20::42e] (port=44827 helo=mail-wr1-x42e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZl-0002DZ-Jf for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:31 -0400 Received: by mail-wr1-x42e.google.com with SMTP id b19so11707093wrh.11 for ; Fri, 18 Mar 2022 06:23:29 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=n35AFs9v+Ihl4A7Mb9rzofI88nppswgEUkv1KZhYPHc=; b=MF0qHKz6LZjiTfC6dZiKNhrdfrgYHVsQWEPeTP56KL9TgZZR7CvLyOZ9kyZKH8m1p/ ThfcQ0AMMnw1TDV9fPOeSqUcXlqSyqkEhPCXohORxJKhycdsroyoQgNovPz1Lsdc5KAJ l2LXcA0IwJELwuJruhczv01RdFBzVasylMhs3J5sAza/9S37T4pzL7QzNMJCrFk4z4HU pfB8gnwkdk9wXTRbGb3mJN3wicmZuZXJSNI1bzih5cxMKgkGo1KNIc58NgTe1398T90J IoDjjnTnuZOytl8nxeUGXlFNuWUs+bXW2LzFIpnKcDMBZf6mFG5lQQaiUJz+zKkrIK/b uzuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=n35AFs9v+Ihl4A7Mb9rzofI88nppswgEUkv1KZhYPHc=; b=fg7yWC4qFi+Vw6cCfIUdGsHoSnlSJXUfZD+cRTdwb46BApsxoLVJGB/Vlbul0hh1cF ss5XDxOMrViXK3Ci9Acj828zC6lk2dweb3p3Q90GMOnM/k0rh5zHUXp0MGqJlM3e49QF 1WoAGiCHpPpPj06nYu3cG/+A2aKhLVpt0rvXXpBtZMMBLFz1qeHenaWtgxSkutlPMcVX WSbNP3MBV+Yf6LmPnHKj40720BqtXCFaKkTn2HJrTQf5E+1YdIdT3T5N/HgUqb6zveQM nD0SvbFBtl06uRcpzfXlFIjMQEiEbV3cIdJEIh6SQ00qWWuMLLHooF4tNLtxqVEqtL+S E7DQ== X-Gm-Message-State: AOAM530KFB/2h14oxMaKHYhyJviJt33/O/j6pKCJ33tVamd6WKp0JLJV FCwFITs/adnFY/0OZRVNswzFQ0OuYqG/fw== X-Google-Smtp-Source: ABdhPJxk2KvPmiaoac7CHWND2ZBtN21e6UL3u4F9ycdODrmjpXKboKWRBxZuGiAwy6ejW7GPaEP/4g== X-Received: by 2002:adf:9d8f:0:b0:1f1:e72e:72c with SMTP id p15-20020adf9d8f000000b001f1e72e072cmr7869784wre.561.1647609808264; Fri, 18 Mar 2022 06:23:28 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 19/21] util/osdep: Avoid madvise proto on modern Solaris Date: Fri, 18 Mar 2022 13:23:04 +0000 Message-Id: <20220318132306.3254960-20-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42e (failed) 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::42e; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610781960100001 Content-Type: text/plain; charset="utf-8" From: Andrew Deason On older Solaris releases (before Solaris 11), we didn't get a prototype for madvise, and so util/osdep.c provides its own prototype. Some time between the public Solaris 11.4 release and Solaris 11.4.42 CBE, we started getting an madvise prototype that looks like this: extern int madvise(void *, size_t, int); which conflicts with the prototype in util/osdeps.c. Instead of always declaring this prototype, check if we're missing the madvise() prototype, and only declare it ourselves if the prototype is missing. Move the prototype to include/qemu/osdep.h, the normal place to handle platform-specific header quirks. The 'missing_madvise_proto' meson check contains an obviously wrong prototype for madvise. So if that code compiles and links, we must be missing the actual prototype for madvise. Signed-off-by: Andrew Deason Message-id: 20220316035227.3702-2-adeason@sinenomine.net Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- meson.build | 23 +++++++++++++++++++++-- include/qemu/osdep.h | 8 ++++++++ util/osdep.c | 3 --- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index bae62efc9c3..282e7c46505 100644 --- a/meson.build +++ b/meson.build @@ -1715,11 +1715,30 @@ config_host_data.set('CONFIG_FDATASYNC', cc.links(g= nu_source_prefix + ''' #error Not supported #endif }''')) -config_host_data.set('CONFIG_MADVISE', cc.links(gnu_source_prefix + ''' + +has_madvise =3D cc.links(gnu_source_prefix + ''' #include #include #include - int main(void) { return madvise(NULL, 0, MADV_DONTNEED); }''')) + int main(void) { return madvise(NULL, 0, MADV_DONTNEED); }''') +missing_madvise_proto =3D false +if has_madvise + # Some platforms (illumos and Solaris before Solaris 11) provide madvise= () + # but forget to prototype it. In this case, has_madvise will be true (the + # test program links despite a compile warning). To detect the + # missing-prototype case, we try again with a definitely-bogus prototype. + # This will only compile if the system headers don't provide the prototy= pe; + # otherwise the conflicting prototypes will cause a compiler error. + missing_madvise_proto =3D cc.links(gnu_source_prefix + ''' + #include + #include + #include + extern int madvise(int); + int main(void) { return madvise(0); }''') +endif +config_host_data.set('CONFIG_MADVISE', has_madvise) +config_host_data.set('HAVE_MADVISE_WITHOUT_PROTOTYPE', missing_madvise_pro= to) + config_host_data.set('CONFIG_MEMFD', cc.links(gnu_source_prefix + ''' #include int main(void) { return memfd_create("foo", MFD_ALLOW_SEALING); }''')) diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 322103aadbd..f2274b24cbf 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -400,6 +400,14 @@ void qemu_anon_ram_free(void *ptr, size_t size); #define SIGIO SIGPOLL #endif =20 +#ifdef HAVE_MADVISE_WITHOUT_PROTOTYPE +/* + * See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=3D7156) for discu= ssion + * about Solaris missing the madvise() prototype. + */ +extern int madvise(char *, size_t, int); +#endif + #if defined(CONFIG_LINUX) #ifndef BUS_MCEERR_AR #define BUS_MCEERR_AR 4 diff --git a/util/osdep.c b/util/osdep.c index 7c4deda6feb..1825399bcf5 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -28,9 +28,6 @@ =20 #ifdef CONFIG_SOLARIS #include -/* See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=3D7156) for - discussion about Solaris header problems */ -extern int madvise(char *, size_t, int); #endif =20 #include "qemu-common.h" --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647610700; cv=none; d=zohomail.com; s=zohoarc; b=eUF6D3nltT5Px1u/XJVAbmRA4Nsiuw6BPwxyAwo81PRg/5rCIoSVudJw4iCe4QA/Tp6MWUaDEb7SPiC9XGAZOloQWMaO9MzxLaUxmNhNyrKyC8NoIiOHfJpqYKMUmt341p5WnLUXC5R8PrrnjK/OotSK4r9Fj6Akvl8/1QeXZSs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647610700; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=h4aEzyIE/QZgB0XPdQFg8Zi6U0RcdXK16fZmuwh6B20=; b=QLt9t0LTeTyYU78HZBfjU9HtwIwcgZ6fnKb10VzVW2AXYxa9iFp9F6LRNqcrm3xNNlh9zolwjTJ+o4zBDPwYCjUmGZUGKqHfOWEeQhYJDGbHPh+f++Sg6y5Fi+WIqUlZiZuTnAsKfAGJndnsrAiQj621dt9FAtz+st2g8ge4d4E= 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 1647610700395104.12585390008428; Fri, 18 Mar 2022 06:38:20 -0700 (PDT) Received: from localhost ([::1]:58602 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCo7-00076f-1x for importer@patchew.org; Fri, 18 Mar 2022 09:38:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46306) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZn-00071l-Sw for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:31 -0400 Received: from [2a00:1450:4864:20::42c] (port=39834 helo=mail-wr1-x42c.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZm-0002Di-Az for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:31 -0400 Received: by mail-wr1-x42c.google.com with SMTP id j18so2117043wrd.6 for ; Fri, 18 Mar 2022 06:23:29 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=h4aEzyIE/QZgB0XPdQFg8Zi6U0RcdXK16fZmuwh6B20=; b=r7BarEy1LXHlZWskteBMkhmNEatiPXv1ynRcSPvB3Hb5DwjymJKFIGqn4N6DS8PdiQ PPc7KofNmTdHOXw+fwlbj/JNqOZot8zkNe1kBnIlGj4F/EPEcQblSatmfwWhbmp9XHfK tdBFRMpOLF3dbBSWg1Sb8NP5fb4KaZPqHsaxzmmr8JVwcv7Gr1z/XWFSMTrhZ0BQFG3M nylDIkMmsP7EuP798yJQ72pK64ayomEuC+o509aXwpEIT28IoXDrLQpqP+rnJ02typtY m6Lr5TxfyfF7e3S3MoPifL9JZBBsepvvmibsaWycrgpsBNtq+9JRIXXNuN/6en5qoPT1 6qyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h4aEzyIE/QZgB0XPdQFg8Zi6U0RcdXK16fZmuwh6B20=; b=8OZPFeH8tzc0LjEeMuFU2LepYZxkNj3VWVcG2v40cNOigjDmIa+xh6VOYQVrYfNq70 Ne7GI1Uywl2qiJV4V+HwZQmaMEbriX5OBp9Try6WPRigc39uahNJjFdz5bmlWNcR2IXK ZpaFML0WS0eShVMYE+EnN8mnt14ZfXB++6fiCmcvqcWdr95orl55tJ1WMzYlCgOYzQ2n sv5QCANUxhXbtrNlIfSM0bCttJNsX+mzfQExxHfYA+uTHfXSIO/LkG/Q/0gSExV32AKE WPCFsKSf6jW/xYadItwOQWLvVF7GgTqnuH2PswX3bgqFkQ4A/G6nA5C7cfev7kmiC77J NZng== X-Gm-Message-State: AOAM532LRwHY+IQwd8aSQBvjL0OjN8rgtkm53bFF5nPCGK4/yo6nbtd9 4mWSsO/8qg3aU9DrJCgDyd+xxTsKEujlLQ== X-Google-Smtp-Source: ABdhPJzmhne4EuLOFEneUHtOMJRCfT73xyPh8WMY0O72gdKFkmCtTf3TRD5W0CcJh2vUQ08a3Ek3Mw== X-Received: by 2002:adf:82b2:0:b0:203:f34d:dff with SMTP id 47-20020adf82b2000000b00203f34d0dffmr3757159wrc.661.1647609809062; Fri, 18 Mar 2022 06:23:29 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 20/21] hw/i386/acpi-build: Avoid 'sun' identifier Date: Fri, 18 Mar 2022 13:23:05 +0000 Message-Id: <20220318132306.3254960-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42c (failed) 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::42c; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647610701122100001 Content-Type: text/plain; charset="utf-8" From: Andrew Deason On Solaris, 'sun' is #define'd to 1, which causes errors if a variable is named 'sun'. Slightly change the name of the var for the Slot User Number so we can build on Solaris. Reviewed-by: Ani Sinha Signed-off-by: Andrew Deason Reviewed-by: Michael S. Tsirkin Message-id: 20220316035227.3702-3-adeason@sinenomine.net Signed-off-by: Peter Maydell --- hw/i386/acpi-build.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 4ad4d7286c8..dcf6ece3d04 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -583,7 +583,7 @@ Aml *aml_pci_device_dsm(void) Aml *bnum =3D aml_arg(4); Aml *func =3D aml_arg(2); Aml *rev =3D aml_arg(1); - Aml *sun =3D aml_arg(5); + Aml *sunum =3D aml_arg(5); =20 method =3D aml_method("PDSM", 6, AML_SERIALIZED); =20 @@ -594,7 +594,7 @@ Aml *aml_pci_device_dsm(void) UUID =3D aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D"); ifctx =3D aml_if(aml_equal(aml_arg(0), UUID)); { - aml_append(ifctx, aml_store(aml_call2("AIDX", bnum, sun), acpi_ind= ex)); + aml_append(ifctx, aml_store(aml_call2("AIDX", bnum, sunum), acpi_i= ndex)); ifctx1 =3D aml_if(aml_equal(func, zero)); { uint8_t byte_list[1]; --=20 2.25.1 From nobody Mon Feb 9 15:52:36 2026 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=1647611109; cv=none; d=zohomail.com; s=zohoarc; b=ZCvUkitYAKp3Mhmuzy3MxUm9UnLjqkkfF5r/n2f/A51ICGy+XcoOFfIQr6w6bLyUNV7QBwDl4eArjGx5NszravcFCoDnCrx+P5g5kcTCy9Bu6ZbkdrPc/040C9lJYxBbidpK2Ca3eQjLozUVOwaili+rfLAAAK4fCYefB9iKE0o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1647611109; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Jsr4pB71msnavT45jlstw0IyWfAWo6VMkQJ10uKrMqk=; b=TNCCyc1UCl7Xwl8dhkqm31l7VHtpFLHqdzu7k0l3ljVSXiG6ePmL7OcSisferZOTFs45k2L5yKRjcQhqCUubkObIzk1U8yJNl53wcKmGuiOWoxXNVsF5taheugatqreS6lPhe8bco1YqIwddYvW0lmLI+8DpL6b3LKf8mlBSfeQ= 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 1647611109374716.8377786408576; Fri, 18 Mar 2022 06:45:09 -0700 (PDT) Received: from localhost ([::1]:46800 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nVCui-0001VH-1G for importer@patchew.org; Fri, 18 Mar 2022 09:45:08 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46314) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nVCZo-00076N-To for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:32 -0400 Received: from [2a00:1450:4864:20::32d] (port=46773 helo=mail-wm1-x32d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nVCZn-0002Dz-CK for qemu-devel@nongnu.org; Fri, 18 Mar 2022 09:23:32 -0400 Received: by mail-wm1-x32d.google.com with SMTP id p184-20020a1c29c1000000b0037f76d8b484so4779298wmp.5 for ; Fri, 18 Mar 2022 06:23:30 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id y15-20020a05600015cf00b00203e324347bsm6316599wry.102.2022.03.18.06.23.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 06:23:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Jsr4pB71msnavT45jlstw0IyWfAWo6VMkQJ10uKrMqk=; b=B79wn6m9zaYbL1+0JNG/81wD/MwzO3e8jYktSDs6AkxmhT1CRJp0N1CvSlItKjJVIj 9gQnkt7FQe914ogI1/EzfLkfTcptkFZ+zWeDpyOLGTINF26/XVrCYci92ZCAHky8g+HQ 2i9nDQI21lk2IcXb4oKnq72ibde6/F52+wtfgMdKOUlsq3MQo19cBZitgIO5PraYoLzx b+qsE5occRsDff4iFLbet14lfJMxNCkufsl7yrDMfSKqaCNNA1d6nG/a/nRzyz6BQdZQ Ma9rm5/vUIqFIlr0hSeSj3j3FXj1JrWDCFgtDJLM0DKBQ8Tin7ce5eh0vgdZ0F2o+BAj CgtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Jsr4pB71msnavT45jlstw0IyWfAWo6VMkQJ10uKrMqk=; b=jagiLFgpJitZFbKmNgqE2enk4krjkKnY7Fztgxn/J0efyI2YQOVnIxPck2/Ys0gcoH KfTNRzc40oxu8fLmXhCc2zH5qbLlb6ZPShYTwhRFWFvRF/liyXcbuOCX9C2T/PGRWUlN UOov+5YYlV2rWLArCErTf4ea0MAApzRKQDYbeaS8AHgAV6XV1ecGeWHAMc5+gir9Tm0m qUJV1I0MFqthAMDx22YjussZBXGwpNjQaMVBcN1wXcvj3wQdO+AUnSBxGSEwEWBBfEAT fza/VBd15uCBJ5wswzIh/QdtHkFP2rgTyFES340BU5C1EVDVoesS7Yk/pnPFXxJgj+4z 9a2A== X-Gm-Message-State: AOAM532muUZojFEeov6XNGL/Nj5YznWPgf/eCeoWLJDHcSK6JPFH+I+n TUJXTyLrsAFoSaSRCQZK4bo/Gf6GuHzEpw== X-Google-Smtp-Source: ABdhPJxVdyVDN8jBNMNUAsLz7dsHyeP9JlLKPuj2JCjSrWhU3uQ+8o4Yu7cqlN+cmTfcYKti3awcKg== X-Received: by 2002:a1c:7418:0:b0:38a:c643:b10d with SMTP id p24-20020a1c7418000000b0038ac643b10dmr16126262wmc.50.1647609809945; Fri, 18 Mar 2022 06:23:29 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 21/21] util/osdep: Remove some early cruft Date: Fri, 18 Mar 2022 13:23:06 +0000 Message-Id: <20220318132306.3254960-22-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220318132306.3254960-1-peter.maydell@linaro.org> References: <20220318132306.3254960-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32d (failed) 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::32d; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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" X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1647611111057100001 Content-Type: text/plain; charset="utf-8" From: Andrew Deason The include for statvfs.h has not been needed since all statvfs calls were removed in commit 4a1418e07bdc ("Unbreak large mem support by removing kqemu"). The comment mentioning CONFIG_BSD hasn't made sense since an include for config-host.h was removed in commit aafd75841001 ("util: Clean up includes"). Remove this cruft. Reviewed-by: Peter Maydell Signed-off-by: Andrew Deason Message-id: 20220316035227.3702-4-adeason@sinenomine.net Signed-off-by: Peter Maydell --- util/osdep.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/util/osdep.c b/util/osdep.c index 1825399bcf5..394804d32e1 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -23,13 +23,6 @@ */ #include "qemu/osdep.h" #include "qapi/error.h" - -/* Needed early for CONFIG_BSD etc. */ - -#ifdef CONFIG_SOLARIS -#include -#endif - #include "qemu-common.h" #include "qemu/cutils.h" #include "qemu/sockets.h" --=20 2.25.1