From nobody Sun May 5 12:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1659998112; cv=none; d=zohomail.com; s=zohoarc; b=FtjmsJT+oUOhHXl79o9v/YdKOkRCmPreX8Hn84xsSIvPRvKUrag3A2OtZmwIlncHdbLfeQUD5aEBXGGn1Dffwk6nY6BqEUQAPewaecqdUiPpbGop3cyrmf4DA5yEeSGfRTHh1hndU2zEukFa4uza6E9UH1+JbAhvsy4RSyBi30M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1659998112; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=dfCoe5CPCf7Qygo9DSrOF67fkjSDzHCAi0r9x0XXODg=; b=NXVaeRqhyPxvLVgG+nmZgP8MEebL3gCBkwk8NEgQsIi4kiuG38ZRsHkEDWNQShpwfYENUTBiwu1SiRXqznsMZl1DWzBnUETNtDjMI32UGWI3DPmudZ/94v8W7hfGdrxuygz6CR6iXqgV8wrH1EUaSBH7H2KQzqL8PQRvRXbUynE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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 1659998112702353.2486629008762; Mon, 8 Aug 2022 15:35:12 -0700 (PDT) Received: from localhost ([::1]:33116 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLBL5-0001Jz-Ne for importer@patchew.org; Mon, 08 Aug 2022 18:35:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37974) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLBJV-0007zp-TK for qemu-devel@nongnu.org; Mon, 08 Aug 2022 18:33:33 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:41792) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLBJT-0001BK-CV for qemu-devel@nongnu.org; Mon, 08 Aug 2022 18:33:33 -0400 Received: by mail-pj1-x102c.google.com with SMTP id t2-20020a17090a4e4200b001f21572f3a4so10561809pjl.0 for ; Mon, 08 Aug 2022 15:33:31 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id t10-20020a170902b20a00b0016d7b225891sm9186940plr.256.2022.08.08.15.33.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 08 Aug 2022 15:33:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc; bh=dfCoe5CPCf7Qygo9DSrOF67fkjSDzHCAi0r9x0XXODg=; b=bx7s1yA9fKF+/xsJCR9IYozPsk5E4VMLxkIkjOXw+WQG8mQ0a2LOilPajhtO++4Ln6 n0bR77b9nc3Mqg1Ac6GJL68dX1y/jeejA8lNiiqgooWCiej2OvrkZ3PHhleDMxjta+eJ z3+othvZv1m3/kR1xUOJwagKSeqD/zELZWdw8NW6QvtKuAV+VsYxNMQ17IKDf5LTf/53 KCX78ynkIiP5j+PlZTaxbUYjIm1QMlG8oFJ8LNwKplaKcwVlwFd6hTJ9tUt6dRkr2016 F6f8IyFfNvbeXzm6IbsqRpoNmCXYOQX2bxlnynqvu1JuT4HeI4zjlTsx849wr84veSTY raHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc; bh=dfCoe5CPCf7Qygo9DSrOF67fkjSDzHCAi0r9x0XXODg=; b=EOZjjGQLIoJD9EXji75MYGvVBW4k17k11QI14HUETiyLZNx2//DiVnPgU753RMUAjd P4EzSQBFBAETZVk1L8mgh7zmqOclzGmTPtuUP0/A5KfqEX2Cgy4nFxOKgqMdpU6gKXxX wd/QzGSzoqwA2MJCEGfMsrvH8jD4QTDnse2PwMMwEp08lD8XPL4LiULXD/a1NOR6ilyE kyDzu+/kAKumpSS+28C08VOhz+anR6+mBvkO8D5bkxAPo93cG+QVX+DcFGg1hIa8vwXH V5pIowbKwlOimUhpEYnGka1MTP0k3/VfTkmpVpZ5PiBsjh8objrxaXvEc7iDe0jIhlO7 Flmg== X-Gm-Message-State: ACgBeo1G7NPvbKtHTdDxnV7w9EN8cKT9FYbxvE5oJX0p7jes8nz1WjuZ K58ctp2HVM0y5cfWSU9uP4n19QlwUvKX1A== X-Google-Smtp-Source: AA6agR5/3TycEiwactqvXKhhbsnwVZs0Oou9bn7iQvlDUWlXYF0on1w1SamIWSu8PuhwNdYNCHSc/Q== X-Received: by 2002:a17:902:ab0b:b0:170:d51c:a667 with SMTP id ik11-20020a170902ab0b00b00170d51ca667mr2191975plb.156.1659998009775; Mon, 08 Aug 2022 15:33:29 -0700 (PDT) To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Fabien Chouteau , Aleksandar Rikalo , Frederic Konrad , Aurelien Jarno , Peter Maydell , Richard Henderson Subject: [PULL 1/3] target/mips: Handle lock_user() failure in UHI_plog semihosting call Date: Tue, 9 Aug 2022 00:33:10 +0200 Message-Id: <20220808223312.53720-2-f4bug@amsat.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220808223312.53720-1-f4bug@amsat.org> References: <20220808223312.53720-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102c; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-pj1-x102c.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, 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" Reply-to: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= via X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1659998113963100001 From: Peter Maydell Coverity notes that we forgot to check the error return from lock_user() in one place in the handling of the UHI_plog semihosting call. Add the missing error handling. report_fault() is rather brutal in that it will call abort(), but this is the same error-handling used in the rest of this file. Resolves: Coverity CID 1490684 Fixes: ea4210600db3c5 ("target/mips: Avoid qemu_semihosting_log_out for UHI= _plog") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20220719191737.384744-1-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tcg/sysemu/mips-semi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/mips/tcg/sysemu/mips-semi.c b/target/mips/tcg/sysemu/mi= ps-semi.c index 5fb1ad9092..85f0567a7f 100644 --- a/target/mips/tcg/sysemu/mips-semi.c +++ b/target/mips/tcg/sysemu/mips-semi.c @@ -321,6 +321,9 @@ void mips_semihosting(CPUMIPSState *env) if (use_gdb_syscalls()) { addr =3D gpr[29] - str->len; p =3D lock_user(VERIFY_WRITE, addr, str->len, 0); + if (!p) { + report_fault(env); + } memcpy(p, str->str, str->len); unlock_user(p, addr, str->len); semihost_sys_write(cs, uhi_cb, 2, addr, str->len); --=20 2.36.1 From nobody Sun May 5 12:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1659998251; cv=none; d=zohomail.com; s=zohoarc; b=PdOUb8ibPZDJ/ydoFJS7D0p4kJn/92cBwpk5r43/ZzLD/g/1V+hhQL2QmNxzW00oNrcivG5oQZUADUEYQoPy7FaLoy0fgUbpChped2xvM/NZtUh/U/Ef4Al+lgnNq2OPefP/1tesSnd7aS2CPomiaG1lXj9K+8o6gz8DrlCkBTg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1659998251; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=bpxqCm+hMKm2eokYEofsJ0Irz/l4BIy4YUTJZc+Yt+4=; b=EVpPu3z8qUj+y9+7CzgOwy/9Sf10Ef7A/Obz7hDIlgY1wrh0q7V0GGW3bUXj25J/Aaa7PkeRzfWwPoFl8e5UQpbItLm4lCWwV8zpbitsCjLGM1BKbCaUD4ilBy5iPMBUdzpSoJhfA2MLtE5mm6psk7wl66YkpOXPLOlRX2L5r8I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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 1659998251095896.7172640204789; Mon, 8 Aug 2022 15:37:31 -0700 (PDT) Received: from localhost ([::1]:37720 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLBNJ-0004VM-1L for importer@patchew.org; Mon, 08 Aug 2022 18:37:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38040) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLBJf-0008DX-76 for qemu-devel@nongnu.org; Mon, 08 Aug 2022 18:33:43 -0400 Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]:44736) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLBJd-0001C2-Iq for qemu-devel@nongnu.org; Mon, 08 Aug 2022 18:33:42 -0400 Received: by mail-pg1-x52d.google.com with SMTP id c24so4976508pgg.11 for ; Mon, 08 Aug 2022 15:33:41 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id 5-20020a620605000000b0052ad6d627a6sm9160932pfg.166.2022.08.08.15.33.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 08 Aug 2022 15:33:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc; bh=bpxqCm+hMKm2eokYEofsJ0Irz/l4BIy4YUTJZc+Yt+4=; b=TdMFh2wIUVlTOQt488mGQ7/nh7jvUVaSApdtQtAcUS9LveVPqtFTtqEXHGNpj5bGPf dtb3lJSVEYzcl/TT3qPMvNJhUPfJwvzYzpYQLLAbmvt4GXUm1tcVLmM/AdgUM7QK54c1 Bz4BLJqEQSilhWfsrtqm1Q7927iWzkyAfs/zzHjrPtiL97AjML/vpSPr9QJ2ngyHqLP7 WMYcuXVZxRQqWCeH82JPAE8qE8OBuSDjcnmQHEmRfV2A3I6PcCw3WLCaDJpaDniTCzcz YBxs6hZ5Uc8rVFfiMfsTieaXtd4XlBhHbfaRCeNkphslTbLyrt7bBvtrCzIMGt4Apd6o rCTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc; bh=bpxqCm+hMKm2eokYEofsJ0Irz/l4BIy4YUTJZc+Yt+4=; b=XyY/tUK1ttX4BtMzEHLdjQV3/YVHuj6jnr+a4SyZmsXjIbGWfL4RmuQfEmJjOet7z+ bJy5Dj/2dxBORNqtXwp6DFaGikAf9KCts1aAPhYKd+xhDCpURT9Q0budc9TjPMB0YkON xjfYGrByRa34+PmaZqt/IO7J3NpxjL7JFDfEqJzFeokqw5YQKGiTliBjYrWvqfb2ucsL /IMNgh0XKCQpCd1KSRu2JdHk0EUw7HtB1bypGnPF7SPOKpK7qDVtUPyBmI44TZqfSX/r aqV6ZaaMmAWna91K2V2/Qsdj3YHBkPT94b4iU3QOnEuZH88RaR1KkfExdd1XTwpX68hk ED2A== X-Gm-Message-State: ACgBeo1stXILqszaUujMEMgJlDMpYtKdsCAsJyIyAMsuH460Gd8VE30E HSo+MpIRUGNA8crUcpDsH3YNUHTA8UZJdA== X-Google-Smtp-Source: AA6agR41VeuMsrk6EM9BidlSmk1YbWi8pr8bxrGN/EtJAijqk3yVv1KfNeJ0r5Zx3ffpsAQIKlOSGg== X-Received: by 2002:a62:1d86:0:b0:52d:9df0:2151 with SMTP id d128-20020a621d86000000b0052d9df02151mr19997787pfd.33.1659998019963; Mon, 08 Aug 2022 15:33:39 -0700 (PDT) To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Fabien Chouteau , Aleksandar Rikalo , Frederic Konrad , Aurelien Jarno , Igor Mammedov , Ani Sinha , "Michael S . Tsirkin" Subject: [PULL 2/3] hw/mips/malta: turn off x86 specific features of PIIX4_PM Date: Tue, 9 Aug 2022 00:33:11 +0200 Message-Id: <20220808223312.53720-3-f4bug@amsat.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220808223312.53720-1-f4bug@amsat.org> References: <20220808223312.53720-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52d; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-pg1-x52d.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, 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" Reply-to: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= via X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1659998252326100001 From: Igor Mammedov QEMU crashes trying to save VMSTATE when only MIPS target are compiled in $ qemu-system-mips -monitor stdio (qemu) migrate "exec:gzip -c > STATEFILE.gz" Segmentation fault (core dumped) It happens due to PIIX4_PM trying to parse hotplug vmstate structures which are valid only for x86 and not for MIPS (as it requires ACPI tables support which is not existent for ithe later) Issue was probably exposed by trying to cleanup/compile out unused ACPI bits from MIPS target (but forgetting about migration bits). Disable compiled out features using compat properties as the least risky way to deal with issue. Signed-off-by: Igor Mammedov Resolves: https://gitlab.com/qemu-project/qemu/-/issues/995 Reviewed-by: Ani Sinha Acked-by: Michael S. Tsirkin Message-Id: <20220728115034.1327988-1-imammedo@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/malta.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 7a0ec513b0..0e932988e0 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -1442,6 +1442,14 @@ static const TypeInfo mips_malta_device =3D { .instance_init =3D mips_malta_instance_init, }; =20 +GlobalProperty malta_compat[] =3D { + { "PIIX4_PM", "memory-hotplug-support", "off" }, + { "PIIX4_PM", "acpi-pci-hotplug-with-bridge-support", "off" }, + { "PIIX4_PM", "acpi-root-pci-hotplug", "off" }, + { "PIIX4_PM", "x-not-migrate-acpi-index", "true" }, +}; +const size_t malta_compat_len =3D G_N_ELEMENTS(malta_compat); + static void mips_malta_machine_init(MachineClass *mc) { mc->desc =3D "MIPS Malta Core LV"; @@ -1455,6 +1463,7 @@ static void mips_malta_machine_init(MachineClass *mc) mc->default_cpu_type =3D MIPS_CPU_TYPE_NAME("24Kf"); #endif mc->default_ram_id =3D "mips_malta.ram"; + compat_props_add(mc->compat_props, malta_compat, malta_compat_len); } =20 DEFINE_MACHINE("malta", mips_malta_machine_init) --=20 2.36.1 From nobody Sun May 5 12:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1659998156; cv=none; d=zohomail.com; s=zohoarc; b=N9Ngl6laqbD5UZkbz+MggsFfGswZWEOfSRCxgUEc7ogSq9hFMSpXlGtrOGzM1rYK6U6MpRqyzgEvovMZzKHRAX25uBoX/2/+IRTuo35qe4mgF6DN/b3KN6RxpAgurZGj2I4HyU4PnmMaxbYm2/9xZGjd2jjyBYHba4B0kGl9X+U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1659998156; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=+SFuivbmRDhPEXUxhRtAAtVm8SoaHrZvF1NuHWlQhSs=; b=fGpUb+1hBdBw6jtRMCEsKaKtrNu6eZI0Gbx4TQQ+1ulN7drkr/w8zRFi0EzYPEPKsHeapJzRDZGqmY8ER15FJbGoIZuey7eP/McLgNbun4bdojPdoAkA8+1BnYuSjtTq0NUAmkSL+MKK32/vccHv8glbs/Q9/NiRe/RN1ksBJ1E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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 1659998156727561.615549468351; Mon, 8 Aug 2022 15:35:56 -0700 (PDT) Received: from localhost ([::1]:34570 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLBLn-0002JU-Oi for importer@patchew.org; Mon, 08 Aug 2022 18:35:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLBK1-0000Hq-B9 for qemu-devel@nongnu.org; Mon, 08 Aug 2022 18:34:05 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]:35596) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLBJz-0001Cn-Gr for qemu-devel@nongnu.org; Mon, 08 Aug 2022 18:34:05 -0400 Received: by mail-pf1-x432.google.com with SMTP id p125so5745620pfp.2 for ; Mon, 08 Aug 2022 15:34:03 -0700 (PDT) Received: from localhost.localdomain ([185.126.107.38]) by smtp.gmail.com with ESMTPSA id j13-20020a170902da8d00b001709aea1516sm4385336plx.276.2022.08.08.15.33.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 08 Aug 2022 15:34:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc; bh=+SFuivbmRDhPEXUxhRtAAtVm8SoaHrZvF1NuHWlQhSs=; b=aWkfAvV+hQoQMgprHWBFjgSqgydKgAuc8+SMw8h77RV+7Lt9C4J35V75X5Wvn7bY12 lR+5Hk1uoChdm5J1OTiqCOyezupPrzRdqGQhomFhRjBvotJ9a9EIzhpl4ZnkE3HnTuRP q9JkKCHMQcI4YrAH7x6901U6+MB09/Gl0CreZVAxcNkgj6/CpGQySYXhkl6wDfoNz4rf 7FbuW6PWBGIaBmDzMv8UuMmjm/kt4OQ5A/SBb36WxZoROJW+ezFAMjx46IDIzKDfUakz 4bVXLNvTTg5v42su8wG+B3kHu75EiPh1A4Ha0zrNg4gKnDn0D2uiMvaJMZCk5Bz6lDJd 4VNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc; bh=+SFuivbmRDhPEXUxhRtAAtVm8SoaHrZvF1NuHWlQhSs=; b=IkCb022A3ukhqVkMaSDOQFUvd8MSyhi2NvAvKk4kS1i/IvdYrjRscsIpWJNpDO5KoU FyG69GY0dC+O8hSJL5fzO0TXKVvVeX/2o/kh2zxEMXPv1PqTusXisVgSt7PDXGzda95G zQSFKC/lIlusd1dglYPX4wsJ7JyvZEYIgp95+gDEv6Z0Z0CwsHbPKXEyXx/B9J8jJwzc D8WkQH7ZqLnUKiBQ8E+Oo9q6swB4GS+7CD+c6PILuipx+Bk4ydIxMKSb18LLG9mS16af c5Yk9zenPM57t4eKFV3jNxP01e0tM1mEUxS7AxxM8NXjbiuTrhELeGB+n4q+BQyaHSw6 raOg== X-Gm-Message-State: ACgBeo3USAJ3bloj7TTEiitQNTqJyfkgFKIHPqbi60UEUToZP6GE39Nn 7a9QSZ23SOT9YiHZvlzhZjBZlDe2VEtPsw== X-Google-Smtp-Source: AA6agR63CrEXeD7flVXdwvUfwNHPQ7EmkfJkffAg0Y0h33pAFtY0qyndfpg/edr3EOcgABiYgqFraA== X-Received: by 2002:a65:6b8a:0:b0:3fc:4c06:8a8d with SMTP id d10-20020a656b8a000000b003fc4c068a8dmr16964182pgw.83.1659998040924; Mon, 08 Aug 2022 15:34:00 -0700 (PDT) To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Fabien Chouteau , Aleksandar Rikalo , Frederic Konrad , Aurelien Jarno , Peter Maydell , Frederic Konrad Subject: [PULL 3/3] hw/misc/grlib_ahb_apb_pnp: Support 8 and 16 bit accesses Date: Tue, 9 Aug 2022 00:33:12 +0200 Message-Id: <20220808223312.53720-4-f4bug@amsat.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220808223312.53720-1-f4bug@amsat.org> References: <20220808223312.53720-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::432; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-pf1-x432.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, 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" Reply-to: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= via X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1659998157741100001 From: Peter Maydell In real hardware, the APB and AHB PNP data tables can be accessed with byte and halfword reads as well as word reads. Our implementation currently only handles word reads. Add support for the 8 and 16 bit accesses. Note that we only need to handle aligned accesses -- unaligned accesses should continue to trap, as happens on hardware. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1132 Signed-off-by: Peter Maydell Reviewed-by: Frederic Konrad Message-Id: <20220802131925.3380923-1-peter.maydell@linaro.org> Tested-by: Tomasz Martyniak Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/grlib_ahb_apb_pnp.c | 10 ++++++---- hw/misc/trace-events | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hw/misc/grlib_ahb_apb_pnp.c b/hw/misc/grlib_ahb_apb_pnp.c index 43e001c3c7..5b05f15859 100644 --- a/hw/misc/grlib_ahb_apb_pnp.c +++ b/hw/misc/grlib_ahb_apb_pnp.c @@ -136,7 +136,8 @@ static uint64_t grlib_ahb_pnp_read(void *opaque, hwaddr= offset, unsigned size) uint32_t val; =20 val =3D ahb_pnp->regs[offset >> 2]; - trace_grlib_ahb_pnp_read(offset, val); + val =3D extract32(val, (4 - (offset & 3) - size) * 8, size * 8); + trace_grlib_ahb_pnp_read(offset, size, val); =20 return val; } @@ -152,7 +153,7 @@ static const MemoryRegionOps grlib_ahb_pnp_ops =3D { .write =3D grlib_ahb_pnp_write, .endianness =3D DEVICE_BIG_ENDIAN, .impl =3D { - .min_access_size =3D 4, + .min_access_size =3D 1, .max_access_size =3D 4, }, }; @@ -247,7 +248,8 @@ static uint64_t grlib_apb_pnp_read(void *opaque, hwaddr= offset, unsigned size) uint32_t val; =20 val =3D apb_pnp->regs[offset >> 2]; - trace_grlib_apb_pnp_read(offset, val); + val =3D extract32(val, (4 - (offset & 3) - size) * 8, size * 8); + trace_grlib_apb_pnp_read(offset, size, val); =20 return val; } @@ -263,7 +265,7 @@ static const MemoryRegionOps grlib_apb_pnp_ops =3D { .write =3D grlib_apb_pnp_write, .endianness =3D DEVICE_BIG_ENDIAN, .impl =3D { - .min_access_size =3D 4, + .min_access_size =3D 1, .max_access_size =3D 4, }, }; diff --git a/hw/misc/trace-events b/hw/misc/trace-events index 4d51a80de1..c18bc0605e 100644 --- a/hw/misc/trace-events +++ b/hw/misc/trace-events @@ -247,8 +247,8 @@ via1_adb_poll(uint8_t data, const char *vadbint, int st= atus, int index, int size via1_auxmode(int mode) "setting auxmode to %d" =20 # grlib_ahb_apb_pnp.c -grlib_ahb_pnp_read(uint64_t addr, uint32_t value) "AHB PnP read addr:0x%03= "PRIx64" data:0x%08x" -grlib_apb_pnp_read(uint64_t addr, uint32_t value) "APB PnP read addr:0x%03= "PRIx64" data:0x%08x" +grlib_ahb_pnp_read(uint64_t addr, unsigned size, uint32_t value) "AHB PnP = read addr:0x%03"PRIx64" size:%u data:0x%08x" +grlib_apb_pnp_read(uint64_t addr, unsigned size, uint32_t value) "APB PnP = read addr:0x%03"PRIx64" size:%u data:0x%08x" =20 # led.c led_set_intensity(const char *color, const char *desc, uint8_t intensity_p= ercent) "LED desc:'%s' color:%s intensity: %u%%" --=20 2.36.1