From patchwork Mon Aug 8 22:33:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 596091 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:b345:0:0:0:0 with SMTP id w5csp3687618maz; Mon, 8 Aug 2022 15:34:31 -0700 (PDT) X-Google-Smtp-Source: AA6agR7BQYr8BSmdfifAz1EvkH526TbtICn4PcZH6u52Kzzaug/qKa4rHy3od/OZfMhf1i2n0Pd0 X-Received: by 2002:ad4:5ccb:0:b0:476:88eb:f60e with SMTP id iu11-20020ad45ccb000000b0047688ebf60emr17706711qvb.36.1659998071364; Mon, 08 Aug 2022 15:34:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1659998071; cv=none; d=google.com; s=arc-20160816; b=rDD33gIcExG9JiAkam0JdA3+lGeWfApDI6liKvDNk23Mv46JQOhK4djpsdnza5WwI/ P+epIW8/y46QOnRTptGX5Pru59wOtyFsiugLLb3i6ssrjaSG6zXKbJEvK5qD7nWiNLEV suXNUShUfiGEWA/y4U7pR6BLKSzP7jQQYvCnOU+08FjLiz71tzZh5G3qrw1CYEkfiC/R kdxI+MyYHDPdTrEtPdMWXUy9Lf6RC8NamlPgYWnI8BNneTNUhi7m+Bny9cFzChDXhlqL x7rfr7X38Al0ntZzstNARkFnWc0e3mzjTtU8hnJeCZog/h2Fc2OhDWJ76kRm0OYMAAH6 7k0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=from:reply-to:sender:errors-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dkim-signature; bh=dfCoe5CPCf7Qygo9DSrOF67fkjSDzHCAi0r9x0XXODg=; b=XNDhSowfZBHkJuGNpTpqB+cChGt2wN6TUQylwtineaUmyOrObu+kkjYi3J/5N2N1zO YIDXnn6lU2EMEjChvnUryY3eB6tokafquJdXrWakxtgN6aHKHtK+q6cupJayfFrNZ7eK 0wImtIsFR0/FL3+VF/x0NE0QaSdfHceAaqYcBFhUnqc3OSHj5vSUVEe5Q066p7HmUnEc gxV9lGEhI8yNY9SL03MjAfSLT2CHKF7XS6HmRX2pyy8/vUsAy+Mti7nqVCkt/GwpT0DL M8V5msIRDgJEX/2xXK0V/ri0z4yJTBLeJpEMl/6Y0pfp1AeXh0/phFrKzVGg/Jv8Zf8a DcOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20210112 header.b=bx7s1yA9; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id az34-20020a05620a172200b006b8fcbcdc6esi7872944qkb.372.2022.08.08.15.34.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 08 Aug 2022 15:34:31 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20210112 header.b=bx7s1yA9; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nongnu.org Received: from localhost ([::1]:58848 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLBKQ-00082C-Tp for patch@linaro.org; Mon, 08 Aug 2022 18:34:30 -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) 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-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) 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) To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-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 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+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Reply-to: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Original-From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= via From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= 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é Message-Id: <20220719191737.384744-1-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daudé --- 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/mips-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 = gpr[29] - str->len; p = 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); From patchwork Mon Aug 8 22:33:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 596092 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:b345:0:0:0:0 with SMTP id w5csp3687903maz; Mon, 8 Aug 2022 15:35:00 -0700 (PDT) X-Google-Smtp-Source: AA6agR5jDDD7tXNmrCF2OLYqJIP/J5Nuqj7pTgy1rEfnrbRw7cChhEgN/aKhsLSEVNIoTdAguOUE X-Received: by 2002:ac8:5948:0:b0:342:f500:2eb7 with SMTP id 8-20020ac85948000000b00342f5002eb7mr8830541qtz.483.1659998100590; Mon, 08 Aug 2022 15:35:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1659998100; cv=none; d=google.com; s=arc-20160816; b=T8w6RMYhmDhr/2+EaBsMYc23syN9RdMgh90HW47BjwBkWFq5x7L7pOjpOFWtIIEz0p STx5LZv1lYb+yQnabcZfyJrw5nqqwPcvsSVH9rGw8niFZmKlsW8bAboW+CsbcXhk4dmq CjZx4/ddu2EnWHe7wY5TD7LxapS2vSZ53gEJKEPmbRxzS2uwsfbf8KzElVGcHZAZtE9y BBRCt22Lp0uzgj4ju4+SeSI6xycwNLB+eYABMN5PkfXp8QYA9pJ5IMCAYT+82ex8YfLV dDrPS/4AnnGV3zibWOFIfprSfsr0Jl/73RyNewuWP1MAEMOlpjKqft10BYkODquZWhP4 9N0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=from:reply-to:sender:errors-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dkim-signature; bh=+SFuivbmRDhPEXUxhRtAAtVm8SoaHrZvF1NuHWlQhSs=; b=ocbK64Qr6v6dkEPsxgBZFcvGhr4HzW8Jjcu4Z7db92GHY2VI1Q5juxl28xhr/yH0tX p1OsJKPp3fo5O7mQwBlPI23ijSLXb56F1vn8pcetRCIZ9L7u0y63tN9ajbUlft+LIUTo RdNuLu7UlhV2zc72q+qq5hlxG9yCef1Snu0ang4f9MWJlHNnXYRFbsuuPGOSas29sH9J 7mYx/5NbvXMaUDLfeyXFSf2RlTs/I8ud73sxeSkepp4WWEBrsfy/dQ5gHR285HVvRI7N yIk0tl6iKpYF1WkY4TC4q1WeQnyK4CJa//kxbDDjG/V7KfmVc6AFdnV1l4tO2Z0AGnPn doDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20210112 header.b=aWkfAvV+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id x11-20020a05620a258b00b006b5e8842d7bsi8558520qko.114.2022.08.08.15.35.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 08 Aug 2022 15:35:00 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20210112 header.b=aWkfAvV+; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nongnu.org Received: from localhost ([::1]:59888 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLBKu-0000Lu-3s for patch@linaro.org; Mon, 08 Aug 2022 18:35:00 -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) 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-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) 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) To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-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 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+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Reply-to: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Original-From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= via From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= 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é --- 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; val = ahb_pnp->regs[offset >> 2]; - trace_grlib_ahb_pnp_read(offset, val); + val = extract32(val, (4 - (offset & 3) - size) * 8, size * 8); + trace_grlib_ahb_pnp_read(offset, size, val); return val; } @@ -152,7 +153,7 @@ static const MemoryRegionOps grlib_ahb_pnp_ops = { .write = grlib_ahb_pnp_write, .endianness = DEVICE_BIG_ENDIAN, .impl = { - .min_access_size = 4, + .min_access_size = 1, .max_access_size = 4, }, }; @@ -247,7 +248,8 @@ static uint64_t grlib_apb_pnp_read(void *opaque, hwaddr offset, unsigned size) uint32_t val; val = apb_pnp->regs[offset >> 2]; - trace_grlib_apb_pnp_read(offset, val); + val = extract32(val, (4 - (offset & 3) - size) * 8, size * 8); + trace_grlib_apb_pnp_read(offset, size, val); return val; } @@ -263,7 +265,7 @@ static const MemoryRegionOps grlib_apb_pnp_ops = { .write = grlib_apb_pnp_write, .endianness = DEVICE_BIG_ENDIAN, .impl = { - .min_access_size = 4, + .min_access_size = 1, .max_access_size = 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 status, int index, int size via1_auxmode(int mode) "setting auxmode to %d" # 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" # led.c led_set_intensity(const char *color, const char *desc, uint8_t intensity_percent) "LED desc:'%s' color:%s intensity: %u%%"